package tp4.dsl.ui.contentassist.antlr.internal; 

import java.io.InputStream;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
import tp4.dsl.services.PdmGrammarAccess;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings("all")
public class InternalPdmParser extends AbstractInternalContentAssistParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_INT", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'LUNES'", "'MARTES'", "'MIERCOLES'", "'JUEVES'", "'VIERNES'", "'SABADO'", "'Profesor:'", "'dedicacion:'", "'SIMPLE'", "'SEMI'", "'EXCLUSIVO'", "'Materia:'", "'dias:'", "'cargaHoraria:'", "'requiere:'", "','", "'Aula:'", "'capacidad: '", "' alumnos '", "'tiene:'", "'Requerimiento:'", "' a '", "' en '", "'materia:'", "'dictadaPor: '", "'inscriptos:'", "'Planificacion a\\u00F1o: '", "'semestre:'", "'{'", "'materiasADictar'", "'}'", "'horarios {'", "'asignaciones {'"
    };
    public static final int RULE_ID=4;
    public static final int T__29=29;
    public static final int T__28=28;
    public static final int T__27=27;
    public static final int T__26=26;
    public static final int T__25=25;
    public static final int T__24=24;
    public static final int T__23=23;
    public static final int T__22=22;
    public static final int RULE_ANY_OTHER=10;
    public static final int T__21=21;
    public static final int T__20=20;
    public static final int EOF=-1;
    public static final int T__19=19;
    public static final int T__16=16;
    public static final int T__15=15;
    public static final int T__18=18;
    public static final int T__17=17;
    public static final int T__12=12;
    public static final int T__11=11;
    public static final int T__14=14;
    public static final int T__13=13;
    public static final int RULE_INT=5;
    public static final int T__42=42;
    public static final int T__43=43;
    public static final int T__40=40;
    public static final int T__41=41;
    public static final int RULE_SL_COMMENT=8;
    public static final int RULE_ML_COMMENT=7;
    public static final int T__30=30;
    public static final int T__31=31;
    public static final int T__32=32;
    public static final int RULE_STRING=6;
    public static final int T__33=33;
    public static final int T__34=34;
    public static final int T__35=35;
    public static final int T__36=36;
    public static final int T__37=37;
    public static final int T__38=38;
    public static final int T__39=39;
    public static final int RULE_WS=9;

    // delegates
    // delegators


        public InternalPdmParser(TokenStream input) {
            this(input, new RecognizerSharedState());
        }
        public InternalPdmParser(TokenStream input, RecognizerSharedState state) {
            super(input, state);
             
        }
        

    public String[] getTokenNames() { return InternalPdmParser.tokenNames; }
    public String getGrammarFileName() { return "../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g"; }


     
     	private PdmGrammarAccess grammarAccess;
     	
        public void setGrammarAccess(PdmGrammarAccess grammarAccess) {
        	this.grammarAccess = grammarAccess;
        }
        
        @Override
        protected Grammar getGrammar() {
        	return grammarAccess.getGrammar();
        }
        
        @Override
        protected String getValueForTokenName(String tokenName) {
        	return tokenName;
        }




    // $ANTLR start "entryRuleModel"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:60:1: entryRuleModel : ruleModel EOF ;
    public final void entryRuleModel() throws RecognitionException {
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:61:1: ( ruleModel EOF )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:62:1: ruleModel EOF
            {
             before(grammarAccess.getModelRule()); 
            pushFollow(FOLLOW_ruleModel_in_entryRuleModel61);
            ruleModel();

            state._fsp--;

             after(grammarAccess.getModelRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleModel68); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleModel"


    // $ANTLR start "ruleModel"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:69:1: ruleModel : ( ( rule__Model__Group__0 ) ) ;
    public final void ruleModel() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:73:2: ( ( ( rule__Model__Group__0 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:74:1: ( ( rule__Model__Group__0 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:74:1: ( ( rule__Model__Group__0 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:75:1: ( rule__Model__Group__0 )
            {
             before(grammarAccess.getModelAccess().getGroup()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:76:1: ( rule__Model__Group__0 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:76:2: rule__Model__Group__0
            {
            pushFollow(FOLLOW_rule__Model__Group__0_in_ruleModel94);
            rule__Model__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getModelAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleModel"


    // $ANTLR start "entryRuleProfesor"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:88:1: entryRuleProfesor : ruleProfesor EOF ;
    public final void entryRuleProfesor() throws RecognitionException {
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:89:1: ( ruleProfesor EOF )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:90:1: ruleProfesor EOF
            {
             before(grammarAccess.getProfesorRule()); 
            pushFollow(FOLLOW_ruleProfesor_in_entryRuleProfesor121);
            ruleProfesor();

            state._fsp--;

             after(grammarAccess.getProfesorRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleProfesor128); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleProfesor"


    // $ANTLR start "ruleProfesor"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:97:1: ruleProfesor : ( ( rule__Profesor__Group__0 ) ) ;
    public final void ruleProfesor() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:101:2: ( ( ( rule__Profesor__Group__0 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:102:1: ( ( rule__Profesor__Group__0 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:102:1: ( ( rule__Profesor__Group__0 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:103:1: ( rule__Profesor__Group__0 )
            {
             before(grammarAccess.getProfesorAccess().getGroup()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:104:1: ( rule__Profesor__Group__0 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:104:2: rule__Profesor__Group__0
            {
            pushFollow(FOLLOW_rule__Profesor__Group__0_in_ruleProfesor154);
            rule__Profesor__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getProfesorAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleProfesor"


    // $ANTLR start "entryRuleDedicacion"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:116:1: entryRuleDedicacion : ruleDedicacion EOF ;
    public final void entryRuleDedicacion() throws RecognitionException {
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:117:1: ( ruleDedicacion EOF )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:118:1: ruleDedicacion EOF
            {
             before(grammarAccess.getDedicacionRule()); 
            pushFollow(FOLLOW_ruleDedicacion_in_entryRuleDedicacion181);
            ruleDedicacion();

            state._fsp--;

             after(grammarAccess.getDedicacionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleDedicacion188); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleDedicacion"


    // $ANTLR start "ruleDedicacion"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:125:1: ruleDedicacion : ( ( rule__Dedicacion__Alternatives ) ) ;
    public final void ruleDedicacion() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:129:2: ( ( ( rule__Dedicacion__Alternatives ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:130:1: ( ( rule__Dedicacion__Alternatives ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:130:1: ( ( rule__Dedicacion__Alternatives ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:131:1: ( rule__Dedicacion__Alternatives )
            {
             before(grammarAccess.getDedicacionAccess().getAlternatives()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:132:1: ( rule__Dedicacion__Alternatives )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:132:2: rule__Dedicacion__Alternatives
            {
            pushFollow(FOLLOW_rule__Dedicacion__Alternatives_in_ruleDedicacion214);
            rule__Dedicacion__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getDedicacionAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleDedicacion"


    // $ANTLR start "entryRuleSimple"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:144:1: entryRuleSimple : ruleSimple EOF ;
    public final void entryRuleSimple() throws RecognitionException {
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:145:1: ( ruleSimple EOF )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:146:1: ruleSimple EOF
            {
             before(grammarAccess.getSimpleRule()); 
            pushFollow(FOLLOW_ruleSimple_in_entryRuleSimple241);
            ruleSimple();

            state._fsp--;

             after(grammarAccess.getSimpleRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleSimple248); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleSimple"


    // $ANTLR start "ruleSimple"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:153:1: ruleSimple : ( ( rule__Simple__Group__0 ) ) ;
    public final void ruleSimple() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:157:2: ( ( ( rule__Simple__Group__0 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:158:1: ( ( rule__Simple__Group__0 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:158:1: ( ( rule__Simple__Group__0 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:159:1: ( rule__Simple__Group__0 )
            {
             before(grammarAccess.getSimpleAccess().getGroup()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:160:1: ( rule__Simple__Group__0 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:160:2: rule__Simple__Group__0
            {
            pushFollow(FOLLOW_rule__Simple__Group__0_in_ruleSimple274);
            rule__Simple__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getSimpleAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleSimple"


    // $ANTLR start "entryRuleSemi"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:172:1: entryRuleSemi : ruleSemi EOF ;
    public final void entryRuleSemi() throws RecognitionException {
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:173:1: ( ruleSemi EOF )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:174:1: ruleSemi EOF
            {
             before(grammarAccess.getSemiRule()); 
            pushFollow(FOLLOW_ruleSemi_in_entryRuleSemi301);
            ruleSemi();

            state._fsp--;

             after(grammarAccess.getSemiRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleSemi308); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleSemi"


    // $ANTLR start "ruleSemi"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:181:1: ruleSemi : ( ( rule__Semi__Group__0 ) ) ;
    public final void ruleSemi() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:185:2: ( ( ( rule__Semi__Group__0 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:186:1: ( ( rule__Semi__Group__0 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:186:1: ( ( rule__Semi__Group__0 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:187:1: ( rule__Semi__Group__0 )
            {
             before(grammarAccess.getSemiAccess().getGroup()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:188:1: ( rule__Semi__Group__0 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:188:2: rule__Semi__Group__0
            {
            pushFollow(FOLLOW_rule__Semi__Group__0_in_ruleSemi334);
            rule__Semi__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getSemiAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleSemi"


    // $ANTLR start "entryRuleExclusivo"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:200:1: entryRuleExclusivo : ruleExclusivo EOF ;
    public final void entryRuleExclusivo() throws RecognitionException {
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:201:1: ( ruleExclusivo EOF )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:202:1: ruleExclusivo EOF
            {
             before(grammarAccess.getExclusivoRule()); 
            pushFollow(FOLLOW_ruleExclusivo_in_entryRuleExclusivo361);
            ruleExclusivo();

            state._fsp--;

             after(grammarAccess.getExclusivoRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleExclusivo368); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleExclusivo"


    // $ANTLR start "ruleExclusivo"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:209:1: ruleExclusivo : ( ( rule__Exclusivo__Group__0 ) ) ;
    public final void ruleExclusivo() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:213:2: ( ( ( rule__Exclusivo__Group__0 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:214:1: ( ( rule__Exclusivo__Group__0 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:214:1: ( ( rule__Exclusivo__Group__0 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:215:1: ( rule__Exclusivo__Group__0 )
            {
             before(grammarAccess.getExclusivoAccess().getGroup()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:216:1: ( rule__Exclusivo__Group__0 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:216:2: rule__Exclusivo__Group__0
            {
            pushFollow(FOLLOW_rule__Exclusivo__Group__0_in_ruleExclusivo394);
            rule__Exclusivo__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getExclusivoAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleExclusivo"


    // $ANTLR start "entryRuleMateria"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:228:1: entryRuleMateria : ruleMateria EOF ;
    public final void entryRuleMateria() throws RecognitionException {
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:229:1: ( ruleMateria EOF )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:230:1: ruleMateria EOF
            {
             before(grammarAccess.getMateriaRule()); 
            pushFollow(FOLLOW_ruleMateria_in_entryRuleMateria421);
            ruleMateria();

            state._fsp--;

             after(grammarAccess.getMateriaRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleMateria428); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleMateria"


    // $ANTLR start "ruleMateria"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:237:1: ruleMateria : ( ( rule__Materia__Group__0 ) ) ;
    public final void ruleMateria() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:241:2: ( ( ( rule__Materia__Group__0 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:242:1: ( ( rule__Materia__Group__0 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:242:1: ( ( rule__Materia__Group__0 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:243:1: ( rule__Materia__Group__0 )
            {
             before(grammarAccess.getMateriaAccess().getGroup()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:244:1: ( rule__Materia__Group__0 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:244:2: rule__Materia__Group__0
            {
            pushFollow(FOLLOW_rule__Materia__Group__0_in_ruleMateria454);
            rule__Materia__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getMateriaAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleMateria"


    // $ANTLR start "entryRuleAula"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:256:1: entryRuleAula : ruleAula EOF ;
    public final void entryRuleAula() throws RecognitionException {
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:257:1: ( ruleAula EOF )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:258:1: ruleAula EOF
            {
             before(grammarAccess.getAulaRule()); 
            pushFollow(FOLLOW_ruleAula_in_entryRuleAula481);
            ruleAula();

            state._fsp--;

             after(grammarAccess.getAulaRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleAula488); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleAula"


    // $ANTLR start "ruleAula"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:265:1: ruleAula : ( ( rule__Aula__Group__0 ) ) ;
    public final void ruleAula() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:269:2: ( ( ( rule__Aula__Group__0 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:270:1: ( ( rule__Aula__Group__0 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:270:1: ( ( rule__Aula__Group__0 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:271:1: ( rule__Aula__Group__0 )
            {
             before(grammarAccess.getAulaAccess().getGroup()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:272:1: ( rule__Aula__Group__0 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:272:2: rule__Aula__Group__0
            {
            pushFollow(FOLLOW_rule__Aula__Group__0_in_ruleAula514);
            rule__Aula__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getAulaAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleAula"


    // $ANTLR start "entryRuleRequerimiento"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:284:1: entryRuleRequerimiento : ruleRequerimiento EOF ;
    public final void entryRuleRequerimiento() throws RecognitionException {
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:285:1: ( ruleRequerimiento EOF )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:286:1: ruleRequerimiento EOF
            {
             before(grammarAccess.getRequerimientoRule()); 
            pushFollow(FOLLOW_ruleRequerimiento_in_entryRuleRequerimiento541);
            ruleRequerimiento();

            state._fsp--;

             after(grammarAccess.getRequerimientoRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleRequerimiento548); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleRequerimiento"


    // $ANTLR start "ruleRequerimiento"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:293:1: ruleRequerimiento : ( ( rule__Requerimiento__Group__0 ) ) ;
    public final void ruleRequerimiento() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:297:2: ( ( ( rule__Requerimiento__Group__0 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:298:1: ( ( rule__Requerimiento__Group__0 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:298:1: ( ( rule__Requerimiento__Group__0 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:299:1: ( rule__Requerimiento__Group__0 )
            {
             before(grammarAccess.getRequerimientoAccess().getGroup()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:300:1: ( rule__Requerimiento__Group__0 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:300:2: rule__Requerimiento__Group__0
            {
            pushFollow(FOLLOW_rule__Requerimiento__Group__0_in_ruleRequerimiento574);
            rule__Requerimiento__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getRequerimientoAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleRequerimiento"


    // $ANTLR start "entryRuleHorario"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:312:1: entryRuleHorario : ruleHorario EOF ;
    public final void entryRuleHorario() throws RecognitionException {
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:313:1: ( ruleHorario EOF )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:314:1: ruleHorario EOF
            {
             before(grammarAccess.getHorarioRule()); 
            pushFollow(FOLLOW_ruleHorario_in_entryRuleHorario601);
            ruleHorario();

            state._fsp--;

             after(grammarAccess.getHorarioRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleHorario608); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleHorario"


    // $ANTLR start "ruleHorario"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:321:1: ruleHorario : ( ( rule__Horario__Group__0 ) ) ;
    public final void ruleHorario() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:325:2: ( ( ( rule__Horario__Group__0 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:326:1: ( ( rule__Horario__Group__0 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:326:1: ( ( rule__Horario__Group__0 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:327:1: ( rule__Horario__Group__0 )
            {
             before(grammarAccess.getHorarioAccess().getGroup()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:328:1: ( rule__Horario__Group__0 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:328:2: rule__Horario__Group__0
            {
            pushFollow(FOLLOW_rule__Horario__Group__0_in_ruleHorario634);
            rule__Horario__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getHorarioAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleHorario"


    // $ANTLR start "entryRuleHorarioXDia"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:340:1: entryRuleHorarioXDia : ruleHorarioXDia EOF ;
    public final void entryRuleHorarioXDia() throws RecognitionException {
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:341:1: ( ruleHorarioXDia EOF )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:342:1: ruleHorarioXDia EOF
            {
             before(grammarAccess.getHorarioXDiaRule()); 
            pushFollow(FOLLOW_ruleHorarioXDia_in_entryRuleHorarioXDia661);
            ruleHorarioXDia();

            state._fsp--;

             after(grammarAccess.getHorarioXDiaRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleHorarioXDia668); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleHorarioXDia"


    // $ANTLR start "ruleHorarioXDia"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:349:1: ruleHorarioXDia : ( ( rule__HorarioXDia__Group__0 ) ) ;
    public final void ruleHorarioXDia() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:353:2: ( ( ( rule__HorarioXDia__Group__0 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:354:1: ( ( rule__HorarioXDia__Group__0 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:354:1: ( ( rule__HorarioXDia__Group__0 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:355:1: ( rule__HorarioXDia__Group__0 )
            {
             before(grammarAccess.getHorarioXDiaAccess().getGroup()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:356:1: ( rule__HorarioXDia__Group__0 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:356:2: rule__HorarioXDia__Group__0
            {
            pushFollow(FOLLOW_rule__HorarioXDia__Group__0_in_ruleHorarioXDia694);
            rule__HorarioXDia__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getHorarioXDiaAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleHorarioXDia"


    // $ANTLR start "entryRuleDia"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:368:1: entryRuleDia : ruleDia EOF ;
    public final void entryRuleDia() throws RecognitionException {
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:369:1: ( ruleDia EOF )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:370:1: ruleDia EOF
            {
             before(grammarAccess.getDiaRule()); 
            pushFollow(FOLLOW_ruleDia_in_entryRuleDia721);
            ruleDia();

            state._fsp--;

             after(grammarAccess.getDiaRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleDia728); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleDia"


    // $ANTLR start "ruleDia"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:377:1: ruleDia : ( ( rule__Dia__Alternatives ) ) ;
    public final void ruleDia() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:381:2: ( ( ( rule__Dia__Alternatives ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:382:1: ( ( rule__Dia__Alternatives ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:382:1: ( ( rule__Dia__Alternatives ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:383:1: ( rule__Dia__Alternatives )
            {
             before(grammarAccess.getDiaAccess().getAlternatives()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:384:1: ( rule__Dia__Alternatives )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:384:2: rule__Dia__Alternatives
            {
            pushFollow(FOLLOW_rule__Dia__Alternatives_in_ruleDia754);
            rule__Dia__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getDiaAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleDia"


    // $ANTLR start "entryRuleAsignacion"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:396:1: entryRuleAsignacion : ruleAsignacion EOF ;
    public final void entryRuleAsignacion() throws RecognitionException {
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:397:1: ( ruleAsignacion EOF )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:398:1: ruleAsignacion EOF
            {
             before(grammarAccess.getAsignacionRule()); 
            pushFollow(FOLLOW_ruleAsignacion_in_entryRuleAsignacion781);
            ruleAsignacion();

            state._fsp--;

             after(grammarAccess.getAsignacionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleAsignacion788); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleAsignacion"


    // $ANTLR start "ruleAsignacion"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:405:1: ruleAsignacion : ( ( rule__Asignacion__Group__0 ) ) ;
    public final void ruleAsignacion() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:409:2: ( ( ( rule__Asignacion__Group__0 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:410:1: ( ( rule__Asignacion__Group__0 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:410:1: ( ( rule__Asignacion__Group__0 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:411:1: ( rule__Asignacion__Group__0 )
            {
             before(grammarAccess.getAsignacionAccess().getGroup()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:412:1: ( rule__Asignacion__Group__0 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:412:2: rule__Asignacion__Group__0
            {
            pushFollow(FOLLOW_rule__Asignacion__Group__0_in_ruleAsignacion814);
            rule__Asignacion__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getAsignacionAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleAsignacion"


    // $ANTLR start "entryRuleADictar"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:424:1: entryRuleADictar : ruleADictar EOF ;
    public final void entryRuleADictar() throws RecognitionException {
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:425:1: ( ruleADictar EOF )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:426:1: ruleADictar EOF
            {
             before(grammarAccess.getADictarRule()); 
            pushFollow(FOLLOW_ruleADictar_in_entryRuleADictar841);
            ruleADictar();

            state._fsp--;

             after(grammarAccess.getADictarRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleADictar848); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleADictar"


    // $ANTLR start "ruleADictar"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:433:1: ruleADictar : ( ( rule__ADictar__Group__0 ) ) ;
    public final void ruleADictar() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:437:2: ( ( ( rule__ADictar__Group__0 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:438:1: ( ( rule__ADictar__Group__0 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:438:1: ( ( rule__ADictar__Group__0 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:439:1: ( rule__ADictar__Group__0 )
            {
             before(grammarAccess.getADictarAccess().getGroup()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:440:1: ( rule__ADictar__Group__0 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:440:2: rule__ADictar__Group__0
            {
            pushFollow(FOLLOW_rule__ADictar__Group__0_in_ruleADictar874);
            rule__ADictar__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getADictarAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleADictar"


    // $ANTLR start "entryRulePlanificacion"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:452:1: entryRulePlanificacion : rulePlanificacion EOF ;
    public final void entryRulePlanificacion() throws RecognitionException {
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:453:1: ( rulePlanificacion EOF )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:454:1: rulePlanificacion EOF
            {
             before(grammarAccess.getPlanificacionRule()); 
            pushFollow(FOLLOW_rulePlanificacion_in_entryRulePlanificacion901);
            rulePlanificacion();

            state._fsp--;

             after(grammarAccess.getPlanificacionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRulePlanificacion908); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRulePlanificacion"


    // $ANTLR start "rulePlanificacion"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:461:1: rulePlanificacion : ( ( rule__Planificacion__Group__0 ) ) ;
    public final void rulePlanificacion() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:465:2: ( ( ( rule__Planificacion__Group__0 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:466:1: ( ( rule__Planificacion__Group__0 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:466:1: ( ( rule__Planificacion__Group__0 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:467:1: ( rule__Planificacion__Group__0 )
            {
             before(grammarAccess.getPlanificacionAccess().getGroup()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:468:1: ( rule__Planificacion__Group__0 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:468:2: rule__Planificacion__Group__0
            {
            pushFollow(FOLLOW_rule__Planificacion__Group__0_in_rulePlanificacion934);
            rule__Planificacion__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getPlanificacionAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rulePlanificacion"


    // $ANTLR start "rule__Dedicacion__Alternatives"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:480:1: rule__Dedicacion__Alternatives : ( ( ruleSimple ) | ( ruleSemi ) | ( ruleExclusivo ) );
    public final void rule__Dedicacion__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:484:1: ( ( ruleSimple ) | ( ruleSemi ) | ( ruleExclusivo ) )
            int alt1=3;
            switch ( input.LA(1) ) {
            case 19:
                {
                alt1=1;
                }
                break;
            case 20:
                {
                alt1=2;
                }
                break;
            case 21:
                {
                alt1=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 1, 0, input);

                throw nvae;
            }

            switch (alt1) {
                case 1 :
                    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:485:1: ( ruleSimple )
                    {
                    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:485:1: ( ruleSimple )
                    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:486:1: ruleSimple
                    {
                     before(grammarAccess.getDedicacionAccess().getSimpleParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleSimple_in_rule__Dedicacion__Alternatives970);
                    ruleSimple();

                    state._fsp--;

                     after(grammarAccess.getDedicacionAccess().getSimpleParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:491:6: ( ruleSemi )
                    {
                    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:491:6: ( ruleSemi )
                    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:492:1: ruleSemi
                    {
                     before(grammarAccess.getDedicacionAccess().getSemiParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleSemi_in_rule__Dedicacion__Alternatives987);
                    ruleSemi();

                    state._fsp--;

                     after(grammarAccess.getDedicacionAccess().getSemiParserRuleCall_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:497:6: ( ruleExclusivo )
                    {
                    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:497:6: ( ruleExclusivo )
                    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:498:1: ruleExclusivo
                    {
                     before(grammarAccess.getDedicacionAccess().getExclusivoParserRuleCall_2()); 
                    pushFollow(FOLLOW_ruleExclusivo_in_rule__Dedicacion__Alternatives1004);
                    ruleExclusivo();

                    state._fsp--;

                     after(grammarAccess.getDedicacionAccess().getExclusivoParserRuleCall_2()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Dedicacion__Alternatives"


    // $ANTLR start "rule__Dia__Alternatives"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:508:1: rule__Dia__Alternatives : ( ( 'LUNES' ) | ( 'MARTES' ) | ( 'MIERCOLES' ) | ( 'JUEVES' ) | ( 'VIERNES' ) | ( 'SABADO' ) );
    public final void rule__Dia__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:512:1: ( ( 'LUNES' ) | ( 'MARTES' ) | ( 'MIERCOLES' ) | ( 'JUEVES' ) | ( 'VIERNES' ) | ( 'SABADO' ) )
            int alt2=6;
            switch ( input.LA(1) ) {
            case 11:
                {
                alt2=1;
                }
                break;
            case 12:
                {
                alt2=2;
                }
                break;
            case 13:
                {
                alt2=3;
                }
                break;
            case 14:
                {
                alt2=4;
                }
                break;
            case 15:
                {
                alt2=5;
                }
                break;
            case 16:
                {
                alt2=6;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 2, 0, input);

                throw nvae;
            }

            switch (alt2) {
                case 1 :
                    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:513:1: ( 'LUNES' )
                    {
                    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:513:1: ( 'LUNES' )
                    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:514:1: 'LUNES'
                    {
                     before(grammarAccess.getDiaAccess().getLUNESKeyword_0()); 
                    match(input,11,FOLLOW_11_in_rule__Dia__Alternatives1037); 
                     after(grammarAccess.getDiaAccess().getLUNESKeyword_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:521:6: ( 'MARTES' )
                    {
                    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:521:6: ( 'MARTES' )
                    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:522:1: 'MARTES'
                    {
                     before(grammarAccess.getDiaAccess().getMARTESKeyword_1()); 
                    match(input,12,FOLLOW_12_in_rule__Dia__Alternatives1057); 
                     after(grammarAccess.getDiaAccess().getMARTESKeyword_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:529:6: ( 'MIERCOLES' )
                    {
                    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:529:6: ( 'MIERCOLES' )
                    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:530:1: 'MIERCOLES'
                    {
                     before(grammarAccess.getDiaAccess().getMIERCOLESKeyword_2()); 
                    match(input,13,FOLLOW_13_in_rule__Dia__Alternatives1077); 
                     after(grammarAccess.getDiaAccess().getMIERCOLESKeyword_2()); 

                    }


                    }
                    break;
                case 4 :
                    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:537:6: ( 'JUEVES' )
                    {
                    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:537:6: ( 'JUEVES' )
                    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:538:1: 'JUEVES'
                    {
                     before(grammarAccess.getDiaAccess().getJUEVESKeyword_3()); 
                    match(input,14,FOLLOW_14_in_rule__Dia__Alternatives1097); 
                     after(grammarAccess.getDiaAccess().getJUEVESKeyword_3()); 

                    }


                    }
                    break;
                case 5 :
                    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:545:6: ( 'VIERNES' )
                    {
                    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:545:6: ( 'VIERNES' )
                    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:546:1: 'VIERNES'
                    {
                     before(grammarAccess.getDiaAccess().getVIERNESKeyword_4()); 
                    match(input,15,FOLLOW_15_in_rule__Dia__Alternatives1117); 
                     after(grammarAccess.getDiaAccess().getVIERNESKeyword_4()); 

                    }


                    }
                    break;
                case 6 :
                    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:553:6: ( 'SABADO' )
                    {
                    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:553:6: ( 'SABADO' )
                    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:554:1: 'SABADO'
                    {
                     before(grammarAccess.getDiaAccess().getSABADOKeyword_5()); 
                    match(input,16,FOLLOW_16_in_rule__Dia__Alternatives1137); 
                     after(grammarAccess.getDiaAccess().getSABADOKeyword_5()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Dia__Alternatives"


    // $ANTLR start "rule__Model__Group__0"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:568:1: rule__Model__Group__0 : rule__Model__Group__0__Impl rule__Model__Group__1 ;
    public final void rule__Model__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:572:1: ( rule__Model__Group__0__Impl rule__Model__Group__1 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:573:2: rule__Model__Group__0__Impl rule__Model__Group__1
            {
            pushFollow(FOLLOW_rule__Model__Group__0__Impl_in_rule__Model__Group__01169);
            rule__Model__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Model__Group__1_in_rule__Model__Group__01172);
            rule__Model__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Model__Group__0"


    // $ANTLR start "rule__Model__Group__0__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:580:1: rule__Model__Group__0__Impl : ( ( rule__Model__RequerimientosACargarAssignment_0 )* ) ;
    public final void rule__Model__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:584:1: ( ( ( rule__Model__RequerimientosACargarAssignment_0 )* ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:585:1: ( ( rule__Model__RequerimientosACargarAssignment_0 )* )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:585:1: ( ( rule__Model__RequerimientosACargarAssignment_0 )* )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:586:1: ( rule__Model__RequerimientosACargarAssignment_0 )*
            {
             before(grammarAccess.getModelAccess().getRequerimientosACargarAssignment_0()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:587:1: ( rule__Model__RequerimientosACargarAssignment_0 )*
            loop3:
            do {
                int alt3=2;
                int LA3_0 = input.LA(1);

                if ( (LA3_0==31) ) {
                    alt3=1;
                }


                switch (alt3) {
            	case 1 :
            	    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:587:2: rule__Model__RequerimientosACargarAssignment_0
            	    {
            	    pushFollow(FOLLOW_rule__Model__RequerimientosACargarAssignment_0_in_rule__Model__Group__0__Impl1199);
            	    rule__Model__RequerimientosACargarAssignment_0();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop3;
                }
            } while (true);

             after(grammarAccess.getModelAccess().getRequerimientosACargarAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Model__Group__0__Impl"


    // $ANTLR start "rule__Model__Group__1"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:597:1: rule__Model__Group__1 : rule__Model__Group__1__Impl rule__Model__Group__2 ;
    public final void rule__Model__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:601:1: ( rule__Model__Group__1__Impl rule__Model__Group__2 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:602:2: rule__Model__Group__1__Impl rule__Model__Group__2
            {
            pushFollow(FOLLOW_rule__Model__Group__1__Impl_in_rule__Model__Group__11230);
            rule__Model__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Model__Group__2_in_rule__Model__Group__11233);
            rule__Model__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Model__Group__1"


    // $ANTLR start "rule__Model__Group__1__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:609:1: rule__Model__Group__1__Impl : ( ( rule__Model__ProfesoresACargarAssignment_1 )* ) ;
    public final void rule__Model__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:613:1: ( ( ( rule__Model__ProfesoresACargarAssignment_1 )* ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:614:1: ( ( rule__Model__ProfesoresACargarAssignment_1 )* )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:614:1: ( ( rule__Model__ProfesoresACargarAssignment_1 )* )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:615:1: ( rule__Model__ProfesoresACargarAssignment_1 )*
            {
             before(grammarAccess.getModelAccess().getProfesoresACargarAssignment_1()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:616:1: ( rule__Model__ProfesoresACargarAssignment_1 )*
            loop4:
            do {
                int alt4=2;
                int LA4_0 = input.LA(1);

                if ( (LA4_0==17) ) {
                    alt4=1;
                }


                switch (alt4) {
            	case 1 :
            	    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:616:2: rule__Model__ProfesoresACargarAssignment_1
            	    {
            	    pushFollow(FOLLOW_rule__Model__ProfesoresACargarAssignment_1_in_rule__Model__Group__1__Impl1260);
            	    rule__Model__ProfesoresACargarAssignment_1();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop4;
                }
            } while (true);

             after(grammarAccess.getModelAccess().getProfesoresACargarAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Model__Group__1__Impl"


    // $ANTLR start "rule__Model__Group__2"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:626:1: rule__Model__Group__2 : rule__Model__Group__2__Impl rule__Model__Group__3 ;
    public final void rule__Model__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:630:1: ( rule__Model__Group__2__Impl rule__Model__Group__3 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:631:2: rule__Model__Group__2__Impl rule__Model__Group__3
            {
            pushFollow(FOLLOW_rule__Model__Group__2__Impl_in_rule__Model__Group__21291);
            rule__Model__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Model__Group__3_in_rule__Model__Group__21294);
            rule__Model__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Model__Group__2"


    // $ANTLR start "rule__Model__Group__2__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:638:1: rule__Model__Group__2__Impl : ( ( rule__Model__MateriasACargarAssignment_2 )* ) ;
    public final void rule__Model__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:642:1: ( ( ( rule__Model__MateriasACargarAssignment_2 )* ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:643:1: ( ( rule__Model__MateriasACargarAssignment_2 )* )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:643:1: ( ( rule__Model__MateriasACargarAssignment_2 )* )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:644:1: ( rule__Model__MateriasACargarAssignment_2 )*
            {
             before(grammarAccess.getModelAccess().getMateriasACargarAssignment_2()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:645:1: ( rule__Model__MateriasACargarAssignment_2 )*
            loop5:
            do {
                int alt5=2;
                int LA5_0 = input.LA(1);

                if ( (LA5_0==22) ) {
                    alt5=1;
                }


                switch (alt5) {
            	case 1 :
            	    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:645:2: rule__Model__MateriasACargarAssignment_2
            	    {
            	    pushFollow(FOLLOW_rule__Model__MateriasACargarAssignment_2_in_rule__Model__Group__2__Impl1321);
            	    rule__Model__MateriasACargarAssignment_2();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop5;
                }
            } while (true);

             after(grammarAccess.getModelAccess().getMateriasACargarAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Model__Group__2__Impl"


    // $ANTLR start "rule__Model__Group__3"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:655:1: rule__Model__Group__3 : rule__Model__Group__3__Impl rule__Model__Group__4 ;
    public final void rule__Model__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:659:1: ( rule__Model__Group__3__Impl rule__Model__Group__4 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:660:2: rule__Model__Group__3__Impl rule__Model__Group__4
            {
            pushFollow(FOLLOW_rule__Model__Group__3__Impl_in_rule__Model__Group__31352);
            rule__Model__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Model__Group__4_in_rule__Model__Group__31355);
            rule__Model__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Model__Group__3"


    // $ANTLR start "rule__Model__Group__3__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:667:1: rule__Model__Group__3__Impl : ( ( rule__Model__AulasACargarAssignment_3 )* ) ;
    public final void rule__Model__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:671:1: ( ( ( rule__Model__AulasACargarAssignment_3 )* ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:672:1: ( ( rule__Model__AulasACargarAssignment_3 )* )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:672:1: ( ( rule__Model__AulasACargarAssignment_3 )* )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:673:1: ( rule__Model__AulasACargarAssignment_3 )*
            {
             before(grammarAccess.getModelAccess().getAulasACargarAssignment_3()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:674:1: ( rule__Model__AulasACargarAssignment_3 )*
            loop6:
            do {
                int alt6=2;
                int LA6_0 = input.LA(1);

                if ( (LA6_0==27) ) {
                    alt6=1;
                }


                switch (alt6) {
            	case 1 :
            	    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:674:2: rule__Model__AulasACargarAssignment_3
            	    {
            	    pushFollow(FOLLOW_rule__Model__AulasACargarAssignment_3_in_rule__Model__Group__3__Impl1382);
            	    rule__Model__AulasACargarAssignment_3();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop6;
                }
            } while (true);

             after(grammarAccess.getModelAccess().getAulasACargarAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Model__Group__3__Impl"


    // $ANTLR start "rule__Model__Group__4"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:684:1: rule__Model__Group__4 : rule__Model__Group__4__Impl ;
    public final void rule__Model__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:688:1: ( rule__Model__Group__4__Impl )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:689:2: rule__Model__Group__4__Impl
            {
            pushFollow(FOLLOW_rule__Model__Group__4__Impl_in_rule__Model__Group__41413);
            rule__Model__Group__4__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Model__Group__4"


    // $ANTLR start "rule__Model__Group__4__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:695:1: rule__Model__Group__4__Impl : ( ( rule__Model__PlanificacionAssignment_4 ) ) ;
    public final void rule__Model__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:699:1: ( ( ( rule__Model__PlanificacionAssignment_4 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:700:1: ( ( rule__Model__PlanificacionAssignment_4 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:700:1: ( ( rule__Model__PlanificacionAssignment_4 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:701:1: ( rule__Model__PlanificacionAssignment_4 )
            {
             before(grammarAccess.getModelAccess().getPlanificacionAssignment_4()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:702:1: ( rule__Model__PlanificacionAssignment_4 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:702:2: rule__Model__PlanificacionAssignment_4
            {
            pushFollow(FOLLOW_rule__Model__PlanificacionAssignment_4_in_rule__Model__Group__4__Impl1440);
            rule__Model__PlanificacionAssignment_4();

            state._fsp--;


            }

             after(grammarAccess.getModelAccess().getPlanificacionAssignment_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Model__Group__4__Impl"


    // $ANTLR start "rule__Profesor__Group__0"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:722:1: rule__Profesor__Group__0 : rule__Profesor__Group__0__Impl rule__Profesor__Group__1 ;
    public final void rule__Profesor__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:726:1: ( rule__Profesor__Group__0__Impl rule__Profesor__Group__1 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:727:2: rule__Profesor__Group__0__Impl rule__Profesor__Group__1
            {
            pushFollow(FOLLOW_rule__Profesor__Group__0__Impl_in_rule__Profesor__Group__01480);
            rule__Profesor__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Profesor__Group__1_in_rule__Profesor__Group__01483);
            rule__Profesor__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Profesor__Group__0"


    // $ANTLR start "rule__Profesor__Group__0__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:734:1: rule__Profesor__Group__0__Impl : ( 'Profesor:' ) ;
    public final void rule__Profesor__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:738:1: ( ( 'Profesor:' ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:739:1: ( 'Profesor:' )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:739:1: ( 'Profesor:' )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:740:1: 'Profesor:'
            {
             before(grammarAccess.getProfesorAccess().getProfesorKeyword_0()); 
            match(input,17,FOLLOW_17_in_rule__Profesor__Group__0__Impl1511); 
             after(grammarAccess.getProfesorAccess().getProfesorKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Profesor__Group__0__Impl"


    // $ANTLR start "rule__Profesor__Group__1"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:753:1: rule__Profesor__Group__1 : rule__Profesor__Group__1__Impl rule__Profesor__Group__2 ;
    public final void rule__Profesor__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:757:1: ( rule__Profesor__Group__1__Impl rule__Profesor__Group__2 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:758:2: rule__Profesor__Group__1__Impl rule__Profesor__Group__2
            {
            pushFollow(FOLLOW_rule__Profesor__Group__1__Impl_in_rule__Profesor__Group__11542);
            rule__Profesor__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Profesor__Group__2_in_rule__Profesor__Group__11545);
            rule__Profesor__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Profesor__Group__1"


    // $ANTLR start "rule__Profesor__Group__1__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:765:1: rule__Profesor__Group__1__Impl : ( ( rule__Profesor__NameAssignment_1 ) ) ;
    public final void rule__Profesor__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:769:1: ( ( ( rule__Profesor__NameAssignment_1 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:770:1: ( ( rule__Profesor__NameAssignment_1 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:770:1: ( ( rule__Profesor__NameAssignment_1 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:771:1: ( rule__Profesor__NameAssignment_1 )
            {
             before(grammarAccess.getProfesorAccess().getNameAssignment_1()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:772:1: ( rule__Profesor__NameAssignment_1 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:772:2: rule__Profesor__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Profesor__NameAssignment_1_in_rule__Profesor__Group__1__Impl1572);
            rule__Profesor__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getProfesorAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Profesor__Group__1__Impl"


    // $ANTLR start "rule__Profesor__Group__2"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:782:1: rule__Profesor__Group__2 : rule__Profesor__Group__2__Impl rule__Profesor__Group__3 ;
    public final void rule__Profesor__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:786:1: ( rule__Profesor__Group__2__Impl rule__Profesor__Group__3 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:787:2: rule__Profesor__Group__2__Impl rule__Profesor__Group__3
            {
            pushFollow(FOLLOW_rule__Profesor__Group__2__Impl_in_rule__Profesor__Group__21602);
            rule__Profesor__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Profesor__Group__3_in_rule__Profesor__Group__21605);
            rule__Profesor__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Profesor__Group__2"


    // $ANTLR start "rule__Profesor__Group__2__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:794:1: rule__Profesor__Group__2__Impl : ( 'dedicacion:' ) ;
    public final void rule__Profesor__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:798:1: ( ( 'dedicacion:' ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:799:1: ( 'dedicacion:' )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:799:1: ( 'dedicacion:' )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:800:1: 'dedicacion:'
            {
             before(grammarAccess.getProfesorAccess().getDedicacionKeyword_2()); 
            match(input,18,FOLLOW_18_in_rule__Profesor__Group__2__Impl1633); 
             after(grammarAccess.getProfesorAccess().getDedicacionKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Profesor__Group__2__Impl"


    // $ANTLR start "rule__Profesor__Group__3"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:813:1: rule__Profesor__Group__3 : rule__Profesor__Group__3__Impl ;
    public final void rule__Profesor__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:817:1: ( rule__Profesor__Group__3__Impl )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:818:2: rule__Profesor__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__Profesor__Group__3__Impl_in_rule__Profesor__Group__31664);
            rule__Profesor__Group__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Profesor__Group__3"


    // $ANTLR start "rule__Profesor__Group__3__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:824:1: rule__Profesor__Group__3__Impl : ( ( rule__Profesor__DedicacionAssignment_3 ) ) ;
    public final void rule__Profesor__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:828:1: ( ( ( rule__Profesor__DedicacionAssignment_3 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:829:1: ( ( rule__Profesor__DedicacionAssignment_3 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:829:1: ( ( rule__Profesor__DedicacionAssignment_3 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:830:1: ( rule__Profesor__DedicacionAssignment_3 )
            {
             before(grammarAccess.getProfesorAccess().getDedicacionAssignment_3()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:831:1: ( rule__Profesor__DedicacionAssignment_3 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:831:2: rule__Profesor__DedicacionAssignment_3
            {
            pushFollow(FOLLOW_rule__Profesor__DedicacionAssignment_3_in_rule__Profesor__Group__3__Impl1691);
            rule__Profesor__DedicacionAssignment_3();

            state._fsp--;


            }

             after(grammarAccess.getProfesorAccess().getDedicacionAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Profesor__Group__3__Impl"


    // $ANTLR start "rule__Simple__Group__0"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:849:1: rule__Simple__Group__0 : rule__Simple__Group__0__Impl rule__Simple__Group__1 ;
    public final void rule__Simple__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:853:1: ( rule__Simple__Group__0__Impl rule__Simple__Group__1 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:854:2: rule__Simple__Group__0__Impl rule__Simple__Group__1
            {
            pushFollow(FOLLOW_rule__Simple__Group__0__Impl_in_rule__Simple__Group__01729);
            rule__Simple__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Simple__Group__1_in_rule__Simple__Group__01732);
            rule__Simple__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Simple__Group__0"


    // $ANTLR start "rule__Simple__Group__0__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:861:1: rule__Simple__Group__0__Impl : ( () ) ;
    public final void rule__Simple__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:865:1: ( ( () ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:866:1: ( () )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:866:1: ( () )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:867:1: ()
            {
             before(grammarAccess.getSimpleAccess().getSimpleAction_0()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:868:1: ()
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:870:1: 
            {
            }

             after(grammarAccess.getSimpleAccess().getSimpleAction_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Simple__Group__0__Impl"


    // $ANTLR start "rule__Simple__Group__1"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:880:1: rule__Simple__Group__1 : rule__Simple__Group__1__Impl ;
    public final void rule__Simple__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:884:1: ( rule__Simple__Group__1__Impl )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:885:2: rule__Simple__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Simple__Group__1__Impl_in_rule__Simple__Group__11790);
            rule__Simple__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Simple__Group__1"


    // $ANTLR start "rule__Simple__Group__1__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:891:1: rule__Simple__Group__1__Impl : ( 'SIMPLE' ) ;
    public final void rule__Simple__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:895:1: ( ( 'SIMPLE' ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:896:1: ( 'SIMPLE' )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:896:1: ( 'SIMPLE' )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:897:1: 'SIMPLE'
            {
             before(grammarAccess.getSimpleAccess().getSIMPLEKeyword_1()); 
            match(input,19,FOLLOW_19_in_rule__Simple__Group__1__Impl1818); 
             after(grammarAccess.getSimpleAccess().getSIMPLEKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Simple__Group__1__Impl"


    // $ANTLR start "rule__Semi__Group__0"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:914:1: rule__Semi__Group__0 : rule__Semi__Group__0__Impl rule__Semi__Group__1 ;
    public final void rule__Semi__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:918:1: ( rule__Semi__Group__0__Impl rule__Semi__Group__1 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:919:2: rule__Semi__Group__0__Impl rule__Semi__Group__1
            {
            pushFollow(FOLLOW_rule__Semi__Group__0__Impl_in_rule__Semi__Group__01853);
            rule__Semi__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Semi__Group__1_in_rule__Semi__Group__01856);
            rule__Semi__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Semi__Group__0"


    // $ANTLR start "rule__Semi__Group__0__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:926:1: rule__Semi__Group__0__Impl : ( () ) ;
    public final void rule__Semi__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:930:1: ( ( () ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:931:1: ( () )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:931:1: ( () )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:932:1: ()
            {
             before(grammarAccess.getSemiAccess().getSemiAction_0()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:933:1: ()
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:935:1: 
            {
            }

             after(grammarAccess.getSemiAccess().getSemiAction_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Semi__Group__0__Impl"


    // $ANTLR start "rule__Semi__Group__1"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:945:1: rule__Semi__Group__1 : rule__Semi__Group__1__Impl ;
    public final void rule__Semi__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:949:1: ( rule__Semi__Group__1__Impl )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:950:2: rule__Semi__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Semi__Group__1__Impl_in_rule__Semi__Group__11914);
            rule__Semi__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Semi__Group__1"


    // $ANTLR start "rule__Semi__Group__1__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:956:1: rule__Semi__Group__1__Impl : ( 'SEMI' ) ;
    public final void rule__Semi__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:960:1: ( ( 'SEMI' ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:961:1: ( 'SEMI' )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:961:1: ( 'SEMI' )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:962:1: 'SEMI'
            {
             before(grammarAccess.getSemiAccess().getSEMIKeyword_1()); 
            match(input,20,FOLLOW_20_in_rule__Semi__Group__1__Impl1942); 
             after(grammarAccess.getSemiAccess().getSEMIKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Semi__Group__1__Impl"


    // $ANTLR start "rule__Exclusivo__Group__0"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:979:1: rule__Exclusivo__Group__0 : rule__Exclusivo__Group__0__Impl rule__Exclusivo__Group__1 ;
    public final void rule__Exclusivo__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:983:1: ( rule__Exclusivo__Group__0__Impl rule__Exclusivo__Group__1 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:984:2: rule__Exclusivo__Group__0__Impl rule__Exclusivo__Group__1
            {
            pushFollow(FOLLOW_rule__Exclusivo__Group__0__Impl_in_rule__Exclusivo__Group__01977);
            rule__Exclusivo__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Exclusivo__Group__1_in_rule__Exclusivo__Group__01980);
            rule__Exclusivo__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Exclusivo__Group__0"


    // $ANTLR start "rule__Exclusivo__Group__0__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:991:1: rule__Exclusivo__Group__0__Impl : ( () ) ;
    public final void rule__Exclusivo__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:995:1: ( ( () ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:996:1: ( () )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:996:1: ( () )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:997:1: ()
            {
             before(grammarAccess.getExclusivoAccess().getExclusivoAction_0()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:998:1: ()
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1000:1: 
            {
            }

             after(grammarAccess.getExclusivoAccess().getExclusivoAction_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Exclusivo__Group__0__Impl"


    // $ANTLR start "rule__Exclusivo__Group__1"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1010:1: rule__Exclusivo__Group__1 : rule__Exclusivo__Group__1__Impl ;
    public final void rule__Exclusivo__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1014:1: ( rule__Exclusivo__Group__1__Impl )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1015:2: rule__Exclusivo__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Exclusivo__Group__1__Impl_in_rule__Exclusivo__Group__12038);
            rule__Exclusivo__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Exclusivo__Group__1"


    // $ANTLR start "rule__Exclusivo__Group__1__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1021:1: rule__Exclusivo__Group__1__Impl : ( 'EXCLUSIVO' ) ;
    public final void rule__Exclusivo__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1025:1: ( ( 'EXCLUSIVO' ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1026:1: ( 'EXCLUSIVO' )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1026:1: ( 'EXCLUSIVO' )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1027:1: 'EXCLUSIVO'
            {
             before(grammarAccess.getExclusivoAccess().getEXCLUSIVOKeyword_1()); 
            match(input,21,FOLLOW_21_in_rule__Exclusivo__Group__1__Impl2066); 
             after(grammarAccess.getExclusivoAccess().getEXCLUSIVOKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Exclusivo__Group__1__Impl"


    // $ANTLR start "rule__Materia__Group__0"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1044:1: rule__Materia__Group__0 : rule__Materia__Group__0__Impl rule__Materia__Group__1 ;
    public final void rule__Materia__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1048:1: ( rule__Materia__Group__0__Impl rule__Materia__Group__1 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1049:2: rule__Materia__Group__0__Impl rule__Materia__Group__1
            {
            pushFollow(FOLLOW_rule__Materia__Group__0__Impl_in_rule__Materia__Group__02101);
            rule__Materia__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Materia__Group__1_in_rule__Materia__Group__02104);
            rule__Materia__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Materia__Group__0"


    // $ANTLR start "rule__Materia__Group__0__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1056:1: rule__Materia__Group__0__Impl : ( 'Materia:' ) ;
    public final void rule__Materia__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1060:1: ( ( 'Materia:' ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1061:1: ( 'Materia:' )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1061:1: ( 'Materia:' )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1062:1: 'Materia:'
            {
             before(grammarAccess.getMateriaAccess().getMateriaKeyword_0()); 
            match(input,22,FOLLOW_22_in_rule__Materia__Group__0__Impl2132); 
             after(grammarAccess.getMateriaAccess().getMateriaKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Materia__Group__0__Impl"


    // $ANTLR start "rule__Materia__Group__1"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1075:1: rule__Materia__Group__1 : rule__Materia__Group__1__Impl rule__Materia__Group__2 ;
    public final void rule__Materia__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1079:1: ( rule__Materia__Group__1__Impl rule__Materia__Group__2 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1080:2: rule__Materia__Group__1__Impl rule__Materia__Group__2
            {
            pushFollow(FOLLOW_rule__Materia__Group__1__Impl_in_rule__Materia__Group__12163);
            rule__Materia__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Materia__Group__2_in_rule__Materia__Group__12166);
            rule__Materia__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Materia__Group__1"


    // $ANTLR start "rule__Materia__Group__1__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1087:1: rule__Materia__Group__1__Impl : ( ( rule__Materia__NameAssignment_1 ) ) ;
    public final void rule__Materia__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1091:1: ( ( ( rule__Materia__NameAssignment_1 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1092:1: ( ( rule__Materia__NameAssignment_1 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1092:1: ( ( rule__Materia__NameAssignment_1 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1093:1: ( rule__Materia__NameAssignment_1 )
            {
             before(grammarAccess.getMateriaAccess().getNameAssignment_1()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1094:1: ( rule__Materia__NameAssignment_1 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1094:2: rule__Materia__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Materia__NameAssignment_1_in_rule__Materia__Group__1__Impl2193);
            rule__Materia__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getMateriaAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Materia__Group__1__Impl"


    // $ANTLR start "rule__Materia__Group__2"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1104:1: rule__Materia__Group__2 : rule__Materia__Group__2__Impl rule__Materia__Group__3 ;
    public final void rule__Materia__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1108:1: ( rule__Materia__Group__2__Impl rule__Materia__Group__3 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1109:2: rule__Materia__Group__2__Impl rule__Materia__Group__3
            {
            pushFollow(FOLLOW_rule__Materia__Group__2__Impl_in_rule__Materia__Group__22223);
            rule__Materia__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Materia__Group__3_in_rule__Materia__Group__22226);
            rule__Materia__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Materia__Group__2"


    // $ANTLR start "rule__Materia__Group__2__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1116:1: rule__Materia__Group__2__Impl : ( 'dias:' ) ;
    public final void rule__Materia__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1120:1: ( ( 'dias:' ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1121:1: ( 'dias:' )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1121:1: ( 'dias:' )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1122:1: 'dias:'
            {
             before(grammarAccess.getMateriaAccess().getDiasKeyword_2()); 
            match(input,23,FOLLOW_23_in_rule__Materia__Group__2__Impl2254); 
             after(grammarAccess.getMateriaAccess().getDiasKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Materia__Group__2__Impl"


    // $ANTLR start "rule__Materia__Group__3"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1135:1: rule__Materia__Group__3 : rule__Materia__Group__3__Impl rule__Materia__Group__4 ;
    public final void rule__Materia__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1139:1: ( rule__Materia__Group__3__Impl rule__Materia__Group__4 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1140:2: rule__Materia__Group__3__Impl rule__Materia__Group__4
            {
            pushFollow(FOLLOW_rule__Materia__Group__3__Impl_in_rule__Materia__Group__32285);
            rule__Materia__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Materia__Group__4_in_rule__Materia__Group__32288);
            rule__Materia__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Materia__Group__3"


    // $ANTLR start "rule__Materia__Group__3__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1147:1: rule__Materia__Group__3__Impl : ( ( rule__Materia__DiasEnLaSemanaAssignment_3 ) ) ;
    public final void rule__Materia__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1151:1: ( ( ( rule__Materia__DiasEnLaSemanaAssignment_3 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1152:1: ( ( rule__Materia__DiasEnLaSemanaAssignment_3 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1152:1: ( ( rule__Materia__DiasEnLaSemanaAssignment_3 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1153:1: ( rule__Materia__DiasEnLaSemanaAssignment_3 )
            {
             before(grammarAccess.getMateriaAccess().getDiasEnLaSemanaAssignment_3()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1154:1: ( rule__Materia__DiasEnLaSemanaAssignment_3 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1154:2: rule__Materia__DiasEnLaSemanaAssignment_3
            {
            pushFollow(FOLLOW_rule__Materia__DiasEnLaSemanaAssignment_3_in_rule__Materia__Group__3__Impl2315);
            rule__Materia__DiasEnLaSemanaAssignment_3();

            state._fsp--;


            }

             after(grammarAccess.getMateriaAccess().getDiasEnLaSemanaAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Materia__Group__3__Impl"


    // $ANTLR start "rule__Materia__Group__4"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1164:1: rule__Materia__Group__4 : rule__Materia__Group__4__Impl rule__Materia__Group__5 ;
    public final void rule__Materia__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1168:1: ( rule__Materia__Group__4__Impl rule__Materia__Group__5 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1169:2: rule__Materia__Group__4__Impl rule__Materia__Group__5
            {
            pushFollow(FOLLOW_rule__Materia__Group__4__Impl_in_rule__Materia__Group__42345);
            rule__Materia__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Materia__Group__5_in_rule__Materia__Group__42348);
            rule__Materia__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Materia__Group__4"


    // $ANTLR start "rule__Materia__Group__4__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1176:1: rule__Materia__Group__4__Impl : ( 'cargaHoraria:' ) ;
    public final void rule__Materia__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1180:1: ( ( 'cargaHoraria:' ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1181:1: ( 'cargaHoraria:' )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1181:1: ( 'cargaHoraria:' )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1182:1: 'cargaHoraria:'
            {
             before(grammarAccess.getMateriaAccess().getCargaHorariaKeyword_4()); 
            match(input,24,FOLLOW_24_in_rule__Materia__Group__4__Impl2376); 
             after(grammarAccess.getMateriaAccess().getCargaHorariaKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Materia__Group__4__Impl"


    // $ANTLR start "rule__Materia__Group__5"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1195:1: rule__Materia__Group__5 : rule__Materia__Group__5__Impl rule__Materia__Group__6 ;
    public final void rule__Materia__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1199:1: ( rule__Materia__Group__5__Impl rule__Materia__Group__6 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1200:2: rule__Materia__Group__5__Impl rule__Materia__Group__6
            {
            pushFollow(FOLLOW_rule__Materia__Group__5__Impl_in_rule__Materia__Group__52407);
            rule__Materia__Group__5__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Materia__Group__6_in_rule__Materia__Group__52410);
            rule__Materia__Group__6();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Materia__Group__5"


    // $ANTLR start "rule__Materia__Group__5__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1207:1: rule__Materia__Group__5__Impl : ( ( rule__Materia__CargaHorariaAssignment_5 ) ) ;
    public final void rule__Materia__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1211:1: ( ( ( rule__Materia__CargaHorariaAssignment_5 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1212:1: ( ( rule__Materia__CargaHorariaAssignment_5 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1212:1: ( ( rule__Materia__CargaHorariaAssignment_5 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1213:1: ( rule__Materia__CargaHorariaAssignment_5 )
            {
             before(grammarAccess.getMateriaAccess().getCargaHorariaAssignment_5()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1214:1: ( rule__Materia__CargaHorariaAssignment_5 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1214:2: rule__Materia__CargaHorariaAssignment_5
            {
            pushFollow(FOLLOW_rule__Materia__CargaHorariaAssignment_5_in_rule__Materia__Group__5__Impl2437);
            rule__Materia__CargaHorariaAssignment_5();

            state._fsp--;


            }

             after(grammarAccess.getMateriaAccess().getCargaHorariaAssignment_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Materia__Group__5__Impl"


    // $ANTLR start "rule__Materia__Group__6"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1224:1: rule__Materia__Group__6 : rule__Materia__Group__6__Impl ;
    public final void rule__Materia__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1228:1: ( rule__Materia__Group__6__Impl )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1229:2: rule__Materia__Group__6__Impl
            {
            pushFollow(FOLLOW_rule__Materia__Group__6__Impl_in_rule__Materia__Group__62467);
            rule__Materia__Group__6__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Materia__Group__6"


    // $ANTLR start "rule__Materia__Group__6__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1235:1: rule__Materia__Group__6__Impl : ( ( rule__Materia__Group_6__0 )? ) ;
    public final void rule__Materia__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1239:1: ( ( ( rule__Materia__Group_6__0 )? ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1240:1: ( ( rule__Materia__Group_6__0 )? )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1240:1: ( ( rule__Materia__Group_6__0 )? )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1241:1: ( rule__Materia__Group_6__0 )?
            {
             before(grammarAccess.getMateriaAccess().getGroup_6()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1242:1: ( rule__Materia__Group_6__0 )?
            int alt7=2;
            int LA7_0 = input.LA(1);

            if ( (LA7_0==25) ) {
                alt7=1;
            }
            switch (alt7) {
                case 1 :
                    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1242:2: rule__Materia__Group_6__0
                    {
                    pushFollow(FOLLOW_rule__Materia__Group_6__0_in_rule__Materia__Group__6__Impl2494);
                    rule__Materia__Group_6__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getMateriaAccess().getGroup_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Materia__Group__6__Impl"


    // $ANTLR start "rule__Materia__Group_6__0"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1266:1: rule__Materia__Group_6__0 : rule__Materia__Group_6__0__Impl rule__Materia__Group_6__1 ;
    public final void rule__Materia__Group_6__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1270:1: ( rule__Materia__Group_6__0__Impl rule__Materia__Group_6__1 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1271:2: rule__Materia__Group_6__0__Impl rule__Materia__Group_6__1
            {
            pushFollow(FOLLOW_rule__Materia__Group_6__0__Impl_in_rule__Materia__Group_6__02539);
            rule__Materia__Group_6__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Materia__Group_6__1_in_rule__Materia__Group_6__02542);
            rule__Materia__Group_6__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Materia__Group_6__0"


    // $ANTLR start "rule__Materia__Group_6__0__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1278:1: rule__Materia__Group_6__0__Impl : ( 'requiere:' ) ;
    public final void rule__Materia__Group_6__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1282:1: ( ( 'requiere:' ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1283:1: ( 'requiere:' )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1283:1: ( 'requiere:' )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1284:1: 'requiere:'
            {
             before(grammarAccess.getMateriaAccess().getRequiereKeyword_6_0()); 
            match(input,25,FOLLOW_25_in_rule__Materia__Group_6__0__Impl2570); 
             after(grammarAccess.getMateriaAccess().getRequiereKeyword_6_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Materia__Group_6__0__Impl"


    // $ANTLR start "rule__Materia__Group_6__1"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1297:1: rule__Materia__Group_6__1 : rule__Materia__Group_6__1__Impl rule__Materia__Group_6__2 ;
    public final void rule__Materia__Group_6__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1301:1: ( rule__Materia__Group_6__1__Impl rule__Materia__Group_6__2 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1302:2: rule__Materia__Group_6__1__Impl rule__Materia__Group_6__2
            {
            pushFollow(FOLLOW_rule__Materia__Group_6__1__Impl_in_rule__Materia__Group_6__12601);
            rule__Materia__Group_6__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Materia__Group_6__2_in_rule__Materia__Group_6__12604);
            rule__Materia__Group_6__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Materia__Group_6__1"


    // $ANTLR start "rule__Materia__Group_6__1__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1309:1: rule__Materia__Group_6__1__Impl : ( ( rule__Materia__RequerimientosAssignment_6_1 ) ) ;
    public final void rule__Materia__Group_6__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1313:1: ( ( ( rule__Materia__RequerimientosAssignment_6_1 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1314:1: ( ( rule__Materia__RequerimientosAssignment_6_1 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1314:1: ( ( rule__Materia__RequerimientosAssignment_6_1 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1315:1: ( rule__Materia__RequerimientosAssignment_6_1 )
            {
             before(grammarAccess.getMateriaAccess().getRequerimientosAssignment_6_1()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1316:1: ( rule__Materia__RequerimientosAssignment_6_1 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1316:2: rule__Materia__RequerimientosAssignment_6_1
            {
            pushFollow(FOLLOW_rule__Materia__RequerimientosAssignment_6_1_in_rule__Materia__Group_6__1__Impl2631);
            rule__Materia__RequerimientosAssignment_6_1();

            state._fsp--;


            }

             after(grammarAccess.getMateriaAccess().getRequerimientosAssignment_6_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Materia__Group_6__1__Impl"


    // $ANTLR start "rule__Materia__Group_6__2"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1326:1: rule__Materia__Group_6__2 : rule__Materia__Group_6__2__Impl ;
    public final void rule__Materia__Group_6__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1330:1: ( rule__Materia__Group_6__2__Impl )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1331:2: rule__Materia__Group_6__2__Impl
            {
            pushFollow(FOLLOW_rule__Materia__Group_6__2__Impl_in_rule__Materia__Group_6__22661);
            rule__Materia__Group_6__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Materia__Group_6__2"


    // $ANTLR start "rule__Materia__Group_6__2__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1337:1: rule__Materia__Group_6__2__Impl : ( ( rule__Materia__Group_6_2__0 )* ) ;
    public final void rule__Materia__Group_6__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1341:1: ( ( ( rule__Materia__Group_6_2__0 )* ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1342:1: ( ( rule__Materia__Group_6_2__0 )* )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1342:1: ( ( rule__Materia__Group_6_2__0 )* )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1343:1: ( rule__Materia__Group_6_2__0 )*
            {
             before(grammarAccess.getMateriaAccess().getGroup_6_2()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1344:1: ( rule__Materia__Group_6_2__0 )*
            loop8:
            do {
                int alt8=2;
                int LA8_0 = input.LA(1);

                if ( (LA8_0==26) ) {
                    alt8=1;
                }


                switch (alt8) {
            	case 1 :
            	    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1344:2: rule__Materia__Group_6_2__0
            	    {
            	    pushFollow(FOLLOW_rule__Materia__Group_6_2__0_in_rule__Materia__Group_6__2__Impl2688);
            	    rule__Materia__Group_6_2__0();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop8;
                }
            } while (true);

             after(grammarAccess.getMateriaAccess().getGroup_6_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Materia__Group_6__2__Impl"


    // $ANTLR start "rule__Materia__Group_6_2__0"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1360:1: rule__Materia__Group_6_2__0 : rule__Materia__Group_6_2__0__Impl rule__Materia__Group_6_2__1 ;
    public final void rule__Materia__Group_6_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1364:1: ( rule__Materia__Group_6_2__0__Impl rule__Materia__Group_6_2__1 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1365:2: rule__Materia__Group_6_2__0__Impl rule__Materia__Group_6_2__1
            {
            pushFollow(FOLLOW_rule__Materia__Group_6_2__0__Impl_in_rule__Materia__Group_6_2__02725);
            rule__Materia__Group_6_2__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Materia__Group_6_2__1_in_rule__Materia__Group_6_2__02728);
            rule__Materia__Group_6_2__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Materia__Group_6_2__0"


    // $ANTLR start "rule__Materia__Group_6_2__0__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1372:1: rule__Materia__Group_6_2__0__Impl : ( ',' ) ;
    public final void rule__Materia__Group_6_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1376:1: ( ( ',' ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1377:1: ( ',' )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1377:1: ( ',' )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1378:1: ','
            {
             before(grammarAccess.getMateriaAccess().getCommaKeyword_6_2_0()); 
            match(input,26,FOLLOW_26_in_rule__Materia__Group_6_2__0__Impl2756); 
             after(grammarAccess.getMateriaAccess().getCommaKeyword_6_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Materia__Group_6_2__0__Impl"


    // $ANTLR start "rule__Materia__Group_6_2__1"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1391:1: rule__Materia__Group_6_2__1 : rule__Materia__Group_6_2__1__Impl ;
    public final void rule__Materia__Group_6_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1395:1: ( rule__Materia__Group_6_2__1__Impl )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1396:2: rule__Materia__Group_6_2__1__Impl
            {
            pushFollow(FOLLOW_rule__Materia__Group_6_2__1__Impl_in_rule__Materia__Group_6_2__12787);
            rule__Materia__Group_6_2__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Materia__Group_6_2__1"


    // $ANTLR start "rule__Materia__Group_6_2__1__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1402:1: rule__Materia__Group_6_2__1__Impl : ( ( rule__Materia__RequerimientosAssignment_6_2_1 ) ) ;
    public final void rule__Materia__Group_6_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1406:1: ( ( ( rule__Materia__RequerimientosAssignment_6_2_1 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1407:1: ( ( rule__Materia__RequerimientosAssignment_6_2_1 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1407:1: ( ( rule__Materia__RequerimientosAssignment_6_2_1 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1408:1: ( rule__Materia__RequerimientosAssignment_6_2_1 )
            {
             before(grammarAccess.getMateriaAccess().getRequerimientosAssignment_6_2_1()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1409:1: ( rule__Materia__RequerimientosAssignment_6_2_1 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1409:2: rule__Materia__RequerimientosAssignment_6_2_1
            {
            pushFollow(FOLLOW_rule__Materia__RequerimientosAssignment_6_2_1_in_rule__Materia__Group_6_2__1__Impl2814);
            rule__Materia__RequerimientosAssignment_6_2_1();

            state._fsp--;


            }

             after(grammarAccess.getMateriaAccess().getRequerimientosAssignment_6_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Materia__Group_6_2__1__Impl"


    // $ANTLR start "rule__Aula__Group__0"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1423:1: rule__Aula__Group__0 : rule__Aula__Group__0__Impl rule__Aula__Group__1 ;
    public final void rule__Aula__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1427:1: ( rule__Aula__Group__0__Impl rule__Aula__Group__1 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1428:2: rule__Aula__Group__0__Impl rule__Aula__Group__1
            {
            pushFollow(FOLLOW_rule__Aula__Group__0__Impl_in_rule__Aula__Group__02848);
            rule__Aula__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Aula__Group__1_in_rule__Aula__Group__02851);
            rule__Aula__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Aula__Group__0"


    // $ANTLR start "rule__Aula__Group__0__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1435:1: rule__Aula__Group__0__Impl : ( 'Aula:' ) ;
    public final void rule__Aula__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1439:1: ( ( 'Aula:' ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1440:1: ( 'Aula:' )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1440:1: ( 'Aula:' )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1441:1: 'Aula:'
            {
             before(grammarAccess.getAulaAccess().getAulaKeyword_0()); 
            match(input,27,FOLLOW_27_in_rule__Aula__Group__0__Impl2879); 
             after(grammarAccess.getAulaAccess().getAulaKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Aula__Group__0__Impl"


    // $ANTLR start "rule__Aula__Group__1"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1454:1: rule__Aula__Group__1 : rule__Aula__Group__1__Impl rule__Aula__Group__2 ;
    public final void rule__Aula__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1458:1: ( rule__Aula__Group__1__Impl rule__Aula__Group__2 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1459:2: rule__Aula__Group__1__Impl rule__Aula__Group__2
            {
            pushFollow(FOLLOW_rule__Aula__Group__1__Impl_in_rule__Aula__Group__12910);
            rule__Aula__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Aula__Group__2_in_rule__Aula__Group__12913);
            rule__Aula__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Aula__Group__1"


    // $ANTLR start "rule__Aula__Group__1__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1466:1: rule__Aula__Group__1__Impl : ( ( rule__Aula__NameAssignment_1 ) ) ;
    public final void rule__Aula__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1470:1: ( ( ( rule__Aula__NameAssignment_1 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1471:1: ( ( rule__Aula__NameAssignment_1 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1471:1: ( ( rule__Aula__NameAssignment_1 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1472:1: ( rule__Aula__NameAssignment_1 )
            {
             before(grammarAccess.getAulaAccess().getNameAssignment_1()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1473:1: ( rule__Aula__NameAssignment_1 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1473:2: rule__Aula__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Aula__NameAssignment_1_in_rule__Aula__Group__1__Impl2940);
            rule__Aula__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getAulaAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Aula__Group__1__Impl"


    // $ANTLR start "rule__Aula__Group__2"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1483:1: rule__Aula__Group__2 : rule__Aula__Group__2__Impl rule__Aula__Group__3 ;
    public final void rule__Aula__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1487:1: ( rule__Aula__Group__2__Impl rule__Aula__Group__3 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1488:2: rule__Aula__Group__2__Impl rule__Aula__Group__3
            {
            pushFollow(FOLLOW_rule__Aula__Group__2__Impl_in_rule__Aula__Group__22970);
            rule__Aula__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Aula__Group__3_in_rule__Aula__Group__22973);
            rule__Aula__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Aula__Group__2"


    // $ANTLR start "rule__Aula__Group__2__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1495:1: rule__Aula__Group__2__Impl : ( 'capacidad: ' ) ;
    public final void rule__Aula__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1499:1: ( ( 'capacidad: ' ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1500:1: ( 'capacidad: ' )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1500:1: ( 'capacidad: ' )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1501:1: 'capacidad: '
            {
             before(grammarAccess.getAulaAccess().getCapacidadKeyword_2()); 
            match(input,28,FOLLOW_28_in_rule__Aula__Group__2__Impl3001); 
             after(grammarAccess.getAulaAccess().getCapacidadKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Aula__Group__2__Impl"


    // $ANTLR start "rule__Aula__Group__3"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1514:1: rule__Aula__Group__3 : rule__Aula__Group__3__Impl rule__Aula__Group__4 ;
    public final void rule__Aula__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1518:1: ( rule__Aula__Group__3__Impl rule__Aula__Group__4 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1519:2: rule__Aula__Group__3__Impl rule__Aula__Group__4
            {
            pushFollow(FOLLOW_rule__Aula__Group__3__Impl_in_rule__Aula__Group__33032);
            rule__Aula__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Aula__Group__4_in_rule__Aula__Group__33035);
            rule__Aula__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Aula__Group__3"


    // $ANTLR start "rule__Aula__Group__3__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1526:1: rule__Aula__Group__3__Impl : ( ( rule__Aula__CapacidadAulaAssignment_3 ) ) ;
    public final void rule__Aula__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1530:1: ( ( ( rule__Aula__CapacidadAulaAssignment_3 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1531:1: ( ( rule__Aula__CapacidadAulaAssignment_3 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1531:1: ( ( rule__Aula__CapacidadAulaAssignment_3 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1532:1: ( rule__Aula__CapacidadAulaAssignment_3 )
            {
             before(grammarAccess.getAulaAccess().getCapacidadAulaAssignment_3()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1533:1: ( rule__Aula__CapacidadAulaAssignment_3 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1533:2: rule__Aula__CapacidadAulaAssignment_3
            {
            pushFollow(FOLLOW_rule__Aula__CapacidadAulaAssignment_3_in_rule__Aula__Group__3__Impl3062);
            rule__Aula__CapacidadAulaAssignment_3();

            state._fsp--;


            }

             after(grammarAccess.getAulaAccess().getCapacidadAulaAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Aula__Group__3__Impl"


    // $ANTLR start "rule__Aula__Group__4"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1543:1: rule__Aula__Group__4 : rule__Aula__Group__4__Impl rule__Aula__Group__5 ;
    public final void rule__Aula__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1547:1: ( rule__Aula__Group__4__Impl rule__Aula__Group__5 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1548:2: rule__Aula__Group__4__Impl rule__Aula__Group__5
            {
            pushFollow(FOLLOW_rule__Aula__Group__4__Impl_in_rule__Aula__Group__43092);
            rule__Aula__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Aula__Group__5_in_rule__Aula__Group__43095);
            rule__Aula__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Aula__Group__4"


    // $ANTLR start "rule__Aula__Group__4__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1555:1: rule__Aula__Group__4__Impl : ( ' alumnos ' ) ;
    public final void rule__Aula__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1559:1: ( ( ' alumnos ' ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1560:1: ( ' alumnos ' )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1560:1: ( ' alumnos ' )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1561:1: ' alumnos '
            {
             before(grammarAccess.getAulaAccess().getAlumnosKeyword_4()); 
            match(input,29,FOLLOW_29_in_rule__Aula__Group__4__Impl3123); 
             after(grammarAccess.getAulaAccess().getAlumnosKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Aula__Group__4__Impl"


    // $ANTLR start "rule__Aula__Group__5"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1574:1: rule__Aula__Group__5 : rule__Aula__Group__5__Impl ;
    public final void rule__Aula__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1578:1: ( rule__Aula__Group__5__Impl )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1579:2: rule__Aula__Group__5__Impl
            {
            pushFollow(FOLLOW_rule__Aula__Group__5__Impl_in_rule__Aula__Group__53154);
            rule__Aula__Group__5__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Aula__Group__5"


    // $ANTLR start "rule__Aula__Group__5__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1585:1: rule__Aula__Group__5__Impl : ( ( rule__Aula__Group_5__0 )? ) ;
    public final void rule__Aula__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1589:1: ( ( ( rule__Aula__Group_5__0 )? ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1590:1: ( ( rule__Aula__Group_5__0 )? )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1590:1: ( ( rule__Aula__Group_5__0 )? )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1591:1: ( rule__Aula__Group_5__0 )?
            {
             before(grammarAccess.getAulaAccess().getGroup_5()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1592:1: ( rule__Aula__Group_5__0 )?
            int alt9=2;
            int LA9_0 = input.LA(1);

            if ( (LA9_0==30) ) {
                alt9=1;
            }
            switch (alt9) {
                case 1 :
                    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1592:2: rule__Aula__Group_5__0
                    {
                    pushFollow(FOLLOW_rule__Aula__Group_5__0_in_rule__Aula__Group__5__Impl3181);
                    rule__Aula__Group_5__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getAulaAccess().getGroup_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Aula__Group__5__Impl"


    // $ANTLR start "rule__Aula__Group_5__0"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1614:1: rule__Aula__Group_5__0 : rule__Aula__Group_5__0__Impl rule__Aula__Group_5__1 ;
    public final void rule__Aula__Group_5__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1618:1: ( rule__Aula__Group_5__0__Impl rule__Aula__Group_5__1 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1619:2: rule__Aula__Group_5__0__Impl rule__Aula__Group_5__1
            {
            pushFollow(FOLLOW_rule__Aula__Group_5__0__Impl_in_rule__Aula__Group_5__03224);
            rule__Aula__Group_5__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Aula__Group_5__1_in_rule__Aula__Group_5__03227);
            rule__Aula__Group_5__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Aula__Group_5__0"


    // $ANTLR start "rule__Aula__Group_5__0__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1626:1: rule__Aula__Group_5__0__Impl : ( 'tiene:' ) ;
    public final void rule__Aula__Group_5__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1630:1: ( ( 'tiene:' ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1631:1: ( 'tiene:' )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1631:1: ( 'tiene:' )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1632:1: 'tiene:'
            {
             before(grammarAccess.getAulaAccess().getTieneKeyword_5_0()); 
            match(input,30,FOLLOW_30_in_rule__Aula__Group_5__0__Impl3255); 
             after(grammarAccess.getAulaAccess().getTieneKeyword_5_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Aula__Group_5__0__Impl"


    // $ANTLR start "rule__Aula__Group_5__1"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1645:1: rule__Aula__Group_5__1 : rule__Aula__Group_5__1__Impl rule__Aula__Group_5__2 ;
    public final void rule__Aula__Group_5__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1649:1: ( rule__Aula__Group_5__1__Impl rule__Aula__Group_5__2 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1650:2: rule__Aula__Group_5__1__Impl rule__Aula__Group_5__2
            {
            pushFollow(FOLLOW_rule__Aula__Group_5__1__Impl_in_rule__Aula__Group_5__13286);
            rule__Aula__Group_5__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Aula__Group_5__2_in_rule__Aula__Group_5__13289);
            rule__Aula__Group_5__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Aula__Group_5__1"


    // $ANTLR start "rule__Aula__Group_5__1__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1657:1: rule__Aula__Group_5__1__Impl : ( ( rule__Aula__RequerimientosAssignment_5_1 ) ) ;
    public final void rule__Aula__Group_5__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1661:1: ( ( ( rule__Aula__RequerimientosAssignment_5_1 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1662:1: ( ( rule__Aula__RequerimientosAssignment_5_1 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1662:1: ( ( rule__Aula__RequerimientosAssignment_5_1 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1663:1: ( rule__Aula__RequerimientosAssignment_5_1 )
            {
             before(grammarAccess.getAulaAccess().getRequerimientosAssignment_5_1()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1664:1: ( rule__Aula__RequerimientosAssignment_5_1 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1664:2: rule__Aula__RequerimientosAssignment_5_1
            {
            pushFollow(FOLLOW_rule__Aula__RequerimientosAssignment_5_1_in_rule__Aula__Group_5__1__Impl3316);
            rule__Aula__RequerimientosAssignment_5_1();

            state._fsp--;


            }

             after(grammarAccess.getAulaAccess().getRequerimientosAssignment_5_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Aula__Group_5__1__Impl"


    // $ANTLR start "rule__Aula__Group_5__2"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1674:1: rule__Aula__Group_5__2 : rule__Aula__Group_5__2__Impl ;
    public final void rule__Aula__Group_5__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1678:1: ( rule__Aula__Group_5__2__Impl )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1679:2: rule__Aula__Group_5__2__Impl
            {
            pushFollow(FOLLOW_rule__Aula__Group_5__2__Impl_in_rule__Aula__Group_5__23346);
            rule__Aula__Group_5__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Aula__Group_5__2"


    // $ANTLR start "rule__Aula__Group_5__2__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1685:1: rule__Aula__Group_5__2__Impl : ( ( rule__Aula__Group_5_2__0 )* ) ;
    public final void rule__Aula__Group_5__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1689:1: ( ( ( rule__Aula__Group_5_2__0 )* ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1690:1: ( ( rule__Aula__Group_5_2__0 )* )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1690:1: ( ( rule__Aula__Group_5_2__0 )* )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1691:1: ( rule__Aula__Group_5_2__0 )*
            {
             before(grammarAccess.getAulaAccess().getGroup_5_2()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1692:1: ( rule__Aula__Group_5_2__0 )*
            loop10:
            do {
                int alt10=2;
                int LA10_0 = input.LA(1);

                if ( (LA10_0==26) ) {
                    alt10=1;
                }


                switch (alt10) {
            	case 1 :
            	    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1692:2: rule__Aula__Group_5_2__0
            	    {
            	    pushFollow(FOLLOW_rule__Aula__Group_5_2__0_in_rule__Aula__Group_5__2__Impl3373);
            	    rule__Aula__Group_5_2__0();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop10;
                }
            } while (true);

             after(grammarAccess.getAulaAccess().getGroup_5_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Aula__Group_5__2__Impl"


    // $ANTLR start "rule__Aula__Group_5_2__0"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1708:1: rule__Aula__Group_5_2__0 : rule__Aula__Group_5_2__0__Impl rule__Aula__Group_5_2__1 ;
    public final void rule__Aula__Group_5_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1712:1: ( rule__Aula__Group_5_2__0__Impl rule__Aula__Group_5_2__1 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1713:2: rule__Aula__Group_5_2__0__Impl rule__Aula__Group_5_2__1
            {
            pushFollow(FOLLOW_rule__Aula__Group_5_2__0__Impl_in_rule__Aula__Group_5_2__03410);
            rule__Aula__Group_5_2__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Aula__Group_5_2__1_in_rule__Aula__Group_5_2__03413);
            rule__Aula__Group_5_2__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Aula__Group_5_2__0"


    // $ANTLR start "rule__Aula__Group_5_2__0__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1720:1: rule__Aula__Group_5_2__0__Impl : ( ',' ) ;
    public final void rule__Aula__Group_5_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1724:1: ( ( ',' ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1725:1: ( ',' )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1725:1: ( ',' )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1726:1: ','
            {
             before(grammarAccess.getAulaAccess().getCommaKeyword_5_2_0()); 
            match(input,26,FOLLOW_26_in_rule__Aula__Group_5_2__0__Impl3441); 
             after(grammarAccess.getAulaAccess().getCommaKeyword_5_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Aula__Group_5_2__0__Impl"


    // $ANTLR start "rule__Aula__Group_5_2__1"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1739:1: rule__Aula__Group_5_2__1 : rule__Aula__Group_5_2__1__Impl ;
    public final void rule__Aula__Group_5_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1743:1: ( rule__Aula__Group_5_2__1__Impl )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1744:2: rule__Aula__Group_5_2__1__Impl
            {
            pushFollow(FOLLOW_rule__Aula__Group_5_2__1__Impl_in_rule__Aula__Group_5_2__13472);
            rule__Aula__Group_5_2__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Aula__Group_5_2__1"


    // $ANTLR start "rule__Aula__Group_5_2__1__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1750:1: rule__Aula__Group_5_2__1__Impl : ( ( rule__Aula__RequerimientosAssignment_5_2_1 ) ) ;
    public final void rule__Aula__Group_5_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1754:1: ( ( ( rule__Aula__RequerimientosAssignment_5_2_1 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1755:1: ( ( rule__Aula__RequerimientosAssignment_5_2_1 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1755:1: ( ( rule__Aula__RequerimientosAssignment_5_2_1 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1756:1: ( rule__Aula__RequerimientosAssignment_5_2_1 )
            {
             before(grammarAccess.getAulaAccess().getRequerimientosAssignment_5_2_1()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1757:1: ( rule__Aula__RequerimientosAssignment_5_2_1 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1757:2: rule__Aula__RequerimientosAssignment_5_2_1
            {
            pushFollow(FOLLOW_rule__Aula__RequerimientosAssignment_5_2_1_in_rule__Aula__Group_5_2__1__Impl3499);
            rule__Aula__RequerimientosAssignment_5_2_1();

            state._fsp--;


            }

             after(grammarAccess.getAulaAccess().getRequerimientosAssignment_5_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Aula__Group_5_2__1__Impl"


    // $ANTLR start "rule__Requerimiento__Group__0"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1771:1: rule__Requerimiento__Group__0 : rule__Requerimiento__Group__0__Impl rule__Requerimiento__Group__1 ;
    public final void rule__Requerimiento__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1775:1: ( rule__Requerimiento__Group__0__Impl rule__Requerimiento__Group__1 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1776:2: rule__Requerimiento__Group__0__Impl rule__Requerimiento__Group__1
            {
            pushFollow(FOLLOW_rule__Requerimiento__Group__0__Impl_in_rule__Requerimiento__Group__03533);
            rule__Requerimiento__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Requerimiento__Group__1_in_rule__Requerimiento__Group__03536);
            rule__Requerimiento__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Requerimiento__Group__0"


    // $ANTLR start "rule__Requerimiento__Group__0__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1783:1: rule__Requerimiento__Group__0__Impl : ( 'Requerimiento:' ) ;
    public final void rule__Requerimiento__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1787:1: ( ( 'Requerimiento:' ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1788:1: ( 'Requerimiento:' )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1788:1: ( 'Requerimiento:' )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1789:1: 'Requerimiento:'
            {
             before(grammarAccess.getRequerimientoAccess().getRequerimientoKeyword_0()); 
            match(input,31,FOLLOW_31_in_rule__Requerimiento__Group__0__Impl3564); 
             after(grammarAccess.getRequerimientoAccess().getRequerimientoKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Requerimiento__Group__0__Impl"


    // $ANTLR start "rule__Requerimiento__Group__1"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1802:1: rule__Requerimiento__Group__1 : rule__Requerimiento__Group__1__Impl ;
    public final void rule__Requerimiento__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1806:1: ( rule__Requerimiento__Group__1__Impl )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1807:2: rule__Requerimiento__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Requerimiento__Group__1__Impl_in_rule__Requerimiento__Group__13595);
            rule__Requerimiento__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Requerimiento__Group__1"


    // $ANTLR start "rule__Requerimiento__Group__1__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1813:1: rule__Requerimiento__Group__1__Impl : ( ( rule__Requerimiento__NameAssignment_1 ) ) ;
    public final void rule__Requerimiento__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1817:1: ( ( ( rule__Requerimiento__NameAssignment_1 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1818:1: ( ( rule__Requerimiento__NameAssignment_1 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1818:1: ( ( rule__Requerimiento__NameAssignment_1 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1819:1: ( rule__Requerimiento__NameAssignment_1 )
            {
             before(grammarAccess.getRequerimientoAccess().getNameAssignment_1()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1820:1: ( rule__Requerimiento__NameAssignment_1 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1820:2: rule__Requerimiento__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Requerimiento__NameAssignment_1_in_rule__Requerimiento__Group__1__Impl3622);
            rule__Requerimiento__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getRequerimientoAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Requerimiento__Group__1__Impl"


    // $ANTLR start "rule__Horario__Group__0"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1834:1: rule__Horario__Group__0 : rule__Horario__Group__0__Impl rule__Horario__Group__1 ;
    public final void rule__Horario__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1838:1: ( rule__Horario__Group__0__Impl rule__Horario__Group__1 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1839:2: rule__Horario__Group__0__Impl rule__Horario__Group__1
            {
            pushFollow(FOLLOW_rule__Horario__Group__0__Impl_in_rule__Horario__Group__03656);
            rule__Horario__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Horario__Group__1_in_rule__Horario__Group__03659);
            rule__Horario__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Horario__Group__0"


    // $ANTLR start "rule__Horario__Group__0__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1846:1: rule__Horario__Group__0__Impl : ( ( rule__Horario__HoraInicioAssignment_0 ) ) ;
    public final void rule__Horario__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1850:1: ( ( ( rule__Horario__HoraInicioAssignment_0 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1851:1: ( ( rule__Horario__HoraInicioAssignment_0 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1851:1: ( ( rule__Horario__HoraInicioAssignment_0 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1852:1: ( rule__Horario__HoraInicioAssignment_0 )
            {
             before(grammarAccess.getHorarioAccess().getHoraInicioAssignment_0()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1853:1: ( rule__Horario__HoraInicioAssignment_0 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1853:2: rule__Horario__HoraInicioAssignment_0
            {
            pushFollow(FOLLOW_rule__Horario__HoraInicioAssignment_0_in_rule__Horario__Group__0__Impl3686);
            rule__Horario__HoraInicioAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getHorarioAccess().getHoraInicioAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Horario__Group__0__Impl"


    // $ANTLR start "rule__Horario__Group__1"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1863:1: rule__Horario__Group__1 : rule__Horario__Group__1__Impl rule__Horario__Group__2 ;
    public final void rule__Horario__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1867:1: ( rule__Horario__Group__1__Impl rule__Horario__Group__2 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1868:2: rule__Horario__Group__1__Impl rule__Horario__Group__2
            {
            pushFollow(FOLLOW_rule__Horario__Group__1__Impl_in_rule__Horario__Group__13716);
            rule__Horario__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Horario__Group__2_in_rule__Horario__Group__13719);
            rule__Horario__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Horario__Group__1"


    // $ANTLR start "rule__Horario__Group__1__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1875:1: rule__Horario__Group__1__Impl : ( ' a ' ) ;
    public final void rule__Horario__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1879:1: ( ( ' a ' ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1880:1: ( ' a ' )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1880:1: ( ' a ' )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1881:1: ' a '
            {
             before(grammarAccess.getHorarioAccess().getAKeyword_1()); 
            match(input,32,FOLLOW_32_in_rule__Horario__Group__1__Impl3747); 
             after(grammarAccess.getHorarioAccess().getAKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Horario__Group__1__Impl"


    // $ANTLR start "rule__Horario__Group__2"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1894:1: rule__Horario__Group__2 : rule__Horario__Group__2__Impl rule__Horario__Group__3 ;
    public final void rule__Horario__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1898:1: ( rule__Horario__Group__2__Impl rule__Horario__Group__3 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1899:2: rule__Horario__Group__2__Impl rule__Horario__Group__3
            {
            pushFollow(FOLLOW_rule__Horario__Group__2__Impl_in_rule__Horario__Group__23778);
            rule__Horario__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Horario__Group__3_in_rule__Horario__Group__23781);
            rule__Horario__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Horario__Group__2"


    // $ANTLR start "rule__Horario__Group__2__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1906:1: rule__Horario__Group__2__Impl : ( ( rule__Horario__HoraFinAssignment_2 ) ) ;
    public final void rule__Horario__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1910:1: ( ( ( rule__Horario__HoraFinAssignment_2 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1911:1: ( ( rule__Horario__HoraFinAssignment_2 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1911:1: ( ( rule__Horario__HoraFinAssignment_2 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1912:1: ( rule__Horario__HoraFinAssignment_2 )
            {
             before(grammarAccess.getHorarioAccess().getHoraFinAssignment_2()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1913:1: ( rule__Horario__HoraFinAssignment_2 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1913:2: rule__Horario__HoraFinAssignment_2
            {
            pushFollow(FOLLOW_rule__Horario__HoraFinAssignment_2_in_rule__Horario__Group__2__Impl3808);
            rule__Horario__HoraFinAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getHorarioAccess().getHoraFinAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Horario__Group__2__Impl"


    // $ANTLR start "rule__Horario__Group__3"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1923:1: rule__Horario__Group__3 : rule__Horario__Group__3__Impl rule__Horario__Group__4 ;
    public final void rule__Horario__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1927:1: ( rule__Horario__Group__3__Impl rule__Horario__Group__4 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1928:2: rule__Horario__Group__3__Impl rule__Horario__Group__4
            {
            pushFollow(FOLLOW_rule__Horario__Group__3__Impl_in_rule__Horario__Group__33838);
            rule__Horario__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Horario__Group__4_in_rule__Horario__Group__33841);
            rule__Horario__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Horario__Group__3"


    // $ANTLR start "rule__Horario__Group__3__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1935:1: rule__Horario__Group__3__Impl : ( ( rule__Horario__MateriaAssignment_3 ) ) ;
    public final void rule__Horario__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1939:1: ( ( ( rule__Horario__MateriaAssignment_3 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1940:1: ( ( rule__Horario__MateriaAssignment_3 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1940:1: ( ( rule__Horario__MateriaAssignment_3 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1941:1: ( rule__Horario__MateriaAssignment_3 )
            {
             before(grammarAccess.getHorarioAccess().getMateriaAssignment_3()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1942:1: ( rule__Horario__MateriaAssignment_3 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1942:2: rule__Horario__MateriaAssignment_3
            {
            pushFollow(FOLLOW_rule__Horario__MateriaAssignment_3_in_rule__Horario__Group__3__Impl3868);
            rule__Horario__MateriaAssignment_3();

            state._fsp--;


            }

             after(grammarAccess.getHorarioAccess().getMateriaAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Horario__Group__3__Impl"


    // $ANTLR start "rule__Horario__Group__4"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1952:1: rule__Horario__Group__4 : rule__Horario__Group__4__Impl rule__Horario__Group__5 ;
    public final void rule__Horario__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1956:1: ( rule__Horario__Group__4__Impl rule__Horario__Group__5 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1957:2: rule__Horario__Group__4__Impl rule__Horario__Group__5
            {
            pushFollow(FOLLOW_rule__Horario__Group__4__Impl_in_rule__Horario__Group__43898);
            rule__Horario__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Horario__Group__5_in_rule__Horario__Group__43901);
            rule__Horario__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Horario__Group__4"


    // $ANTLR start "rule__Horario__Group__4__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1964:1: rule__Horario__Group__4__Impl : ( ' en ' ) ;
    public final void rule__Horario__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1968:1: ( ( ' en ' ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1969:1: ( ' en ' )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1969:1: ( ' en ' )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1970:1: ' en '
            {
             before(grammarAccess.getHorarioAccess().getEnKeyword_4()); 
            match(input,33,FOLLOW_33_in_rule__Horario__Group__4__Impl3929); 
             after(grammarAccess.getHorarioAccess().getEnKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Horario__Group__4__Impl"


    // $ANTLR start "rule__Horario__Group__5"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1983:1: rule__Horario__Group__5 : rule__Horario__Group__5__Impl ;
    public final void rule__Horario__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1987:1: ( rule__Horario__Group__5__Impl )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1988:2: rule__Horario__Group__5__Impl
            {
            pushFollow(FOLLOW_rule__Horario__Group__5__Impl_in_rule__Horario__Group__53960);
            rule__Horario__Group__5__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Horario__Group__5"


    // $ANTLR start "rule__Horario__Group__5__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1994:1: rule__Horario__Group__5__Impl : ( ( rule__Horario__AulaAssignment_5 ) ) ;
    public final void rule__Horario__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1998:1: ( ( ( rule__Horario__AulaAssignment_5 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1999:1: ( ( rule__Horario__AulaAssignment_5 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:1999:1: ( ( rule__Horario__AulaAssignment_5 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2000:1: ( rule__Horario__AulaAssignment_5 )
            {
             before(grammarAccess.getHorarioAccess().getAulaAssignment_5()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2001:1: ( rule__Horario__AulaAssignment_5 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2001:2: rule__Horario__AulaAssignment_5
            {
            pushFollow(FOLLOW_rule__Horario__AulaAssignment_5_in_rule__Horario__Group__5__Impl3987);
            rule__Horario__AulaAssignment_5();

            state._fsp--;


            }

             after(grammarAccess.getHorarioAccess().getAulaAssignment_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Horario__Group__5__Impl"


    // $ANTLR start "rule__HorarioXDia__Group__0"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2023:1: rule__HorarioXDia__Group__0 : rule__HorarioXDia__Group__0__Impl rule__HorarioXDia__Group__1 ;
    public final void rule__HorarioXDia__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2027:1: ( rule__HorarioXDia__Group__0__Impl rule__HorarioXDia__Group__1 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2028:2: rule__HorarioXDia__Group__0__Impl rule__HorarioXDia__Group__1
            {
            pushFollow(FOLLOW_rule__HorarioXDia__Group__0__Impl_in_rule__HorarioXDia__Group__04029);
            rule__HorarioXDia__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__HorarioXDia__Group__1_in_rule__HorarioXDia__Group__04032);
            rule__HorarioXDia__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__HorarioXDia__Group__0"


    // $ANTLR start "rule__HorarioXDia__Group__0__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2035:1: rule__HorarioXDia__Group__0__Impl : ( ( rule__HorarioXDia__DiaAssignment_0 ) ) ;
    public final void rule__HorarioXDia__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2039:1: ( ( ( rule__HorarioXDia__DiaAssignment_0 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2040:1: ( ( rule__HorarioXDia__DiaAssignment_0 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2040:1: ( ( rule__HorarioXDia__DiaAssignment_0 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2041:1: ( rule__HorarioXDia__DiaAssignment_0 )
            {
             before(grammarAccess.getHorarioXDiaAccess().getDiaAssignment_0()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2042:1: ( rule__HorarioXDia__DiaAssignment_0 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2042:2: rule__HorarioXDia__DiaAssignment_0
            {
            pushFollow(FOLLOW_rule__HorarioXDia__DiaAssignment_0_in_rule__HorarioXDia__Group__0__Impl4059);
            rule__HorarioXDia__DiaAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getHorarioXDiaAccess().getDiaAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__HorarioXDia__Group__0__Impl"


    // $ANTLR start "rule__HorarioXDia__Group__1"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2052:1: rule__HorarioXDia__Group__1 : rule__HorarioXDia__Group__1__Impl ;
    public final void rule__HorarioXDia__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2056:1: ( rule__HorarioXDia__Group__1__Impl )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2057:2: rule__HorarioXDia__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__HorarioXDia__Group__1__Impl_in_rule__HorarioXDia__Group__14089);
            rule__HorarioXDia__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__HorarioXDia__Group__1"


    // $ANTLR start "rule__HorarioXDia__Group__1__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2063:1: rule__HorarioXDia__Group__1__Impl : ( ( rule__HorarioXDia__HorariosAssignment_1 )* ) ;
    public final void rule__HorarioXDia__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2067:1: ( ( ( rule__HorarioXDia__HorariosAssignment_1 )* ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2068:1: ( ( rule__HorarioXDia__HorariosAssignment_1 )* )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2068:1: ( ( rule__HorarioXDia__HorariosAssignment_1 )* )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2069:1: ( rule__HorarioXDia__HorariosAssignment_1 )*
            {
             before(grammarAccess.getHorarioXDiaAccess().getHorariosAssignment_1()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2070:1: ( rule__HorarioXDia__HorariosAssignment_1 )*
            loop11:
            do {
                int alt11=2;
                int LA11_0 = input.LA(1);

                if ( (LA11_0==RULE_INT) ) {
                    alt11=1;
                }


                switch (alt11) {
            	case 1 :
            	    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2070:2: rule__HorarioXDia__HorariosAssignment_1
            	    {
            	    pushFollow(FOLLOW_rule__HorarioXDia__HorariosAssignment_1_in_rule__HorarioXDia__Group__1__Impl4116);
            	    rule__HorarioXDia__HorariosAssignment_1();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop11;
                }
            } while (true);

             after(grammarAccess.getHorarioXDiaAccess().getHorariosAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__HorarioXDia__Group__1__Impl"


    // $ANTLR start "rule__Asignacion__Group__0"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2084:1: rule__Asignacion__Group__0 : rule__Asignacion__Group__0__Impl rule__Asignacion__Group__1 ;
    public final void rule__Asignacion__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2088:1: ( rule__Asignacion__Group__0__Impl rule__Asignacion__Group__1 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2089:2: rule__Asignacion__Group__0__Impl rule__Asignacion__Group__1
            {
            pushFollow(FOLLOW_rule__Asignacion__Group__0__Impl_in_rule__Asignacion__Group__04151);
            rule__Asignacion__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Asignacion__Group__1_in_rule__Asignacion__Group__04154);
            rule__Asignacion__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Asignacion__Group__0"


    // $ANTLR start "rule__Asignacion__Group__0__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2096:1: rule__Asignacion__Group__0__Impl : ( 'materia:' ) ;
    public final void rule__Asignacion__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2100:1: ( ( 'materia:' ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2101:1: ( 'materia:' )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2101:1: ( 'materia:' )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2102:1: 'materia:'
            {
             before(grammarAccess.getAsignacionAccess().getMateriaKeyword_0()); 
            match(input,34,FOLLOW_34_in_rule__Asignacion__Group__0__Impl4182); 
             after(grammarAccess.getAsignacionAccess().getMateriaKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Asignacion__Group__0__Impl"


    // $ANTLR start "rule__Asignacion__Group__1"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2115:1: rule__Asignacion__Group__1 : rule__Asignacion__Group__1__Impl rule__Asignacion__Group__2 ;
    public final void rule__Asignacion__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2119:1: ( rule__Asignacion__Group__1__Impl rule__Asignacion__Group__2 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2120:2: rule__Asignacion__Group__1__Impl rule__Asignacion__Group__2
            {
            pushFollow(FOLLOW_rule__Asignacion__Group__1__Impl_in_rule__Asignacion__Group__14213);
            rule__Asignacion__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Asignacion__Group__2_in_rule__Asignacion__Group__14216);
            rule__Asignacion__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Asignacion__Group__1"


    // $ANTLR start "rule__Asignacion__Group__1__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2127:1: rule__Asignacion__Group__1__Impl : ( ( rule__Asignacion__MateriaAssignment_1 ) ) ;
    public final void rule__Asignacion__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2131:1: ( ( ( rule__Asignacion__MateriaAssignment_1 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2132:1: ( ( rule__Asignacion__MateriaAssignment_1 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2132:1: ( ( rule__Asignacion__MateriaAssignment_1 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2133:1: ( rule__Asignacion__MateriaAssignment_1 )
            {
             before(grammarAccess.getAsignacionAccess().getMateriaAssignment_1()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2134:1: ( rule__Asignacion__MateriaAssignment_1 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2134:2: rule__Asignacion__MateriaAssignment_1
            {
            pushFollow(FOLLOW_rule__Asignacion__MateriaAssignment_1_in_rule__Asignacion__Group__1__Impl4243);
            rule__Asignacion__MateriaAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getAsignacionAccess().getMateriaAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Asignacion__Group__1__Impl"


    // $ANTLR start "rule__Asignacion__Group__2"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2144:1: rule__Asignacion__Group__2 : rule__Asignacion__Group__2__Impl rule__Asignacion__Group__3 ;
    public final void rule__Asignacion__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2148:1: ( rule__Asignacion__Group__2__Impl rule__Asignacion__Group__3 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2149:2: rule__Asignacion__Group__2__Impl rule__Asignacion__Group__3
            {
            pushFollow(FOLLOW_rule__Asignacion__Group__2__Impl_in_rule__Asignacion__Group__24273);
            rule__Asignacion__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Asignacion__Group__3_in_rule__Asignacion__Group__24276);
            rule__Asignacion__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Asignacion__Group__2"


    // $ANTLR start "rule__Asignacion__Group__2__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2156:1: rule__Asignacion__Group__2__Impl : ( 'dictadaPor: ' ) ;
    public final void rule__Asignacion__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2160:1: ( ( 'dictadaPor: ' ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2161:1: ( 'dictadaPor: ' )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2161:1: ( 'dictadaPor: ' )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2162:1: 'dictadaPor: '
            {
             before(grammarAccess.getAsignacionAccess().getDictadaPorKeyword_2()); 
            match(input,35,FOLLOW_35_in_rule__Asignacion__Group__2__Impl4304); 
             after(grammarAccess.getAsignacionAccess().getDictadaPorKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Asignacion__Group__2__Impl"


    // $ANTLR start "rule__Asignacion__Group__3"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2175:1: rule__Asignacion__Group__3 : rule__Asignacion__Group__3__Impl ;
    public final void rule__Asignacion__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2179:1: ( rule__Asignacion__Group__3__Impl )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2180:2: rule__Asignacion__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__Asignacion__Group__3__Impl_in_rule__Asignacion__Group__34335);
            rule__Asignacion__Group__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Asignacion__Group__3"


    // $ANTLR start "rule__Asignacion__Group__3__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2186:1: rule__Asignacion__Group__3__Impl : ( ( rule__Asignacion__ProfesorAssignment_3 ) ) ;
    public final void rule__Asignacion__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2190:1: ( ( ( rule__Asignacion__ProfesorAssignment_3 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2191:1: ( ( rule__Asignacion__ProfesorAssignment_3 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2191:1: ( ( rule__Asignacion__ProfesorAssignment_3 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2192:1: ( rule__Asignacion__ProfesorAssignment_3 )
            {
             before(grammarAccess.getAsignacionAccess().getProfesorAssignment_3()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2193:1: ( rule__Asignacion__ProfesorAssignment_3 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2193:2: rule__Asignacion__ProfesorAssignment_3
            {
            pushFollow(FOLLOW_rule__Asignacion__ProfesorAssignment_3_in_rule__Asignacion__Group__3__Impl4362);
            rule__Asignacion__ProfesorAssignment_3();

            state._fsp--;


            }

             after(grammarAccess.getAsignacionAccess().getProfesorAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Asignacion__Group__3__Impl"


    // $ANTLR start "rule__ADictar__Group__0"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2211:1: rule__ADictar__Group__0 : rule__ADictar__Group__0__Impl rule__ADictar__Group__1 ;
    public final void rule__ADictar__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2215:1: ( rule__ADictar__Group__0__Impl rule__ADictar__Group__1 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2216:2: rule__ADictar__Group__0__Impl rule__ADictar__Group__1
            {
            pushFollow(FOLLOW_rule__ADictar__Group__0__Impl_in_rule__ADictar__Group__04400);
            rule__ADictar__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ADictar__Group__1_in_rule__ADictar__Group__04403);
            rule__ADictar__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ADictar__Group__0"


    // $ANTLR start "rule__ADictar__Group__0__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2223:1: rule__ADictar__Group__0__Impl : ( ( rule__ADictar__MateriaAssignment_0 ) ) ;
    public final void rule__ADictar__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2227:1: ( ( ( rule__ADictar__MateriaAssignment_0 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2228:1: ( ( rule__ADictar__MateriaAssignment_0 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2228:1: ( ( rule__ADictar__MateriaAssignment_0 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2229:1: ( rule__ADictar__MateriaAssignment_0 )
            {
             before(grammarAccess.getADictarAccess().getMateriaAssignment_0()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2230:1: ( rule__ADictar__MateriaAssignment_0 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2230:2: rule__ADictar__MateriaAssignment_0
            {
            pushFollow(FOLLOW_rule__ADictar__MateriaAssignment_0_in_rule__ADictar__Group__0__Impl4430);
            rule__ADictar__MateriaAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getADictarAccess().getMateriaAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ADictar__Group__0__Impl"


    // $ANTLR start "rule__ADictar__Group__1"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2240:1: rule__ADictar__Group__1 : rule__ADictar__Group__1__Impl rule__ADictar__Group__2 ;
    public final void rule__ADictar__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2244:1: ( rule__ADictar__Group__1__Impl rule__ADictar__Group__2 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2245:2: rule__ADictar__Group__1__Impl rule__ADictar__Group__2
            {
            pushFollow(FOLLOW_rule__ADictar__Group__1__Impl_in_rule__ADictar__Group__14460);
            rule__ADictar__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ADictar__Group__2_in_rule__ADictar__Group__14463);
            rule__ADictar__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ADictar__Group__1"


    // $ANTLR start "rule__ADictar__Group__1__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2252:1: rule__ADictar__Group__1__Impl : ( 'inscriptos:' ) ;
    public final void rule__ADictar__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2256:1: ( ( 'inscriptos:' ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2257:1: ( 'inscriptos:' )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2257:1: ( 'inscriptos:' )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2258:1: 'inscriptos:'
            {
             before(grammarAccess.getADictarAccess().getInscriptosKeyword_1()); 
            match(input,36,FOLLOW_36_in_rule__ADictar__Group__1__Impl4491); 
             after(grammarAccess.getADictarAccess().getInscriptosKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ADictar__Group__1__Impl"


    // $ANTLR start "rule__ADictar__Group__2"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2271:1: rule__ADictar__Group__2 : rule__ADictar__Group__2__Impl ;
    public final void rule__ADictar__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2275:1: ( rule__ADictar__Group__2__Impl )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2276:2: rule__ADictar__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__ADictar__Group__2__Impl_in_rule__ADictar__Group__24522);
            rule__ADictar__Group__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ADictar__Group__2"


    // $ANTLR start "rule__ADictar__Group__2__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2282:1: rule__ADictar__Group__2__Impl : ( ( rule__ADictar__InscriptosAssignment_2 ) ) ;
    public final void rule__ADictar__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2286:1: ( ( ( rule__ADictar__InscriptosAssignment_2 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2287:1: ( ( rule__ADictar__InscriptosAssignment_2 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2287:1: ( ( rule__ADictar__InscriptosAssignment_2 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2288:1: ( rule__ADictar__InscriptosAssignment_2 )
            {
             before(grammarAccess.getADictarAccess().getInscriptosAssignment_2()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2289:1: ( rule__ADictar__InscriptosAssignment_2 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2289:2: rule__ADictar__InscriptosAssignment_2
            {
            pushFollow(FOLLOW_rule__ADictar__InscriptosAssignment_2_in_rule__ADictar__Group__2__Impl4549);
            rule__ADictar__InscriptosAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getADictarAccess().getInscriptosAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ADictar__Group__2__Impl"


    // $ANTLR start "rule__Planificacion__Group__0"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2305:1: rule__Planificacion__Group__0 : rule__Planificacion__Group__0__Impl rule__Planificacion__Group__1 ;
    public final void rule__Planificacion__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2309:1: ( rule__Planificacion__Group__0__Impl rule__Planificacion__Group__1 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2310:2: rule__Planificacion__Group__0__Impl rule__Planificacion__Group__1
            {
            pushFollow(FOLLOW_rule__Planificacion__Group__0__Impl_in_rule__Planificacion__Group__04585);
            rule__Planificacion__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Planificacion__Group__1_in_rule__Planificacion__Group__04588);
            rule__Planificacion__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__Group__0"


    // $ANTLR start "rule__Planificacion__Group__0__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2317:1: rule__Planificacion__Group__0__Impl : ( 'Planificacion a\\u00F1o: ' ) ;
    public final void rule__Planificacion__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2321:1: ( ( 'Planificacion a\\u00F1o: ' ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2322:1: ( 'Planificacion a\\u00F1o: ' )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2322:1: ( 'Planificacion a\\u00F1o: ' )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2323:1: 'Planificacion a\\u00F1o: '
            {
             before(grammarAccess.getPlanificacionAccess().getPlanificacionAOKeyword_0()); 
            match(input,37,FOLLOW_37_in_rule__Planificacion__Group__0__Impl4616); 
             after(grammarAccess.getPlanificacionAccess().getPlanificacionAOKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__Group__0__Impl"


    // $ANTLR start "rule__Planificacion__Group__1"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2336:1: rule__Planificacion__Group__1 : rule__Planificacion__Group__1__Impl rule__Planificacion__Group__2 ;
    public final void rule__Planificacion__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2340:1: ( rule__Planificacion__Group__1__Impl rule__Planificacion__Group__2 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2341:2: rule__Planificacion__Group__1__Impl rule__Planificacion__Group__2
            {
            pushFollow(FOLLOW_rule__Planificacion__Group__1__Impl_in_rule__Planificacion__Group__14647);
            rule__Planificacion__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Planificacion__Group__2_in_rule__Planificacion__Group__14650);
            rule__Planificacion__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__Group__1"


    // $ANTLR start "rule__Planificacion__Group__1__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2348:1: rule__Planificacion__Group__1__Impl : ( ( rule__Planificacion__AnioAssignment_1 ) ) ;
    public final void rule__Planificacion__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2352:1: ( ( ( rule__Planificacion__AnioAssignment_1 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2353:1: ( ( rule__Planificacion__AnioAssignment_1 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2353:1: ( ( rule__Planificacion__AnioAssignment_1 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2354:1: ( rule__Planificacion__AnioAssignment_1 )
            {
             before(grammarAccess.getPlanificacionAccess().getAnioAssignment_1()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2355:1: ( rule__Planificacion__AnioAssignment_1 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2355:2: rule__Planificacion__AnioAssignment_1
            {
            pushFollow(FOLLOW_rule__Planificacion__AnioAssignment_1_in_rule__Planificacion__Group__1__Impl4677);
            rule__Planificacion__AnioAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getPlanificacionAccess().getAnioAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__Group__1__Impl"


    // $ANTLR start "rule__Planificacion__Group__2"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2365:1: rule__Planificacion__Group__2 : rule__Planificacion__Group__2__Impl rule__Planificacion__Group__3 ;
    public final void rule__Planificacion__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2369:1: ( rule__Planificacion__Group__2__Impl rule__Planificacion__Group__3 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2370:2: rule__Planificacion__Group__2__Impl rule__Planificacion__Group__3
            {
            pushFollow(FOLLOW_rule__Planificacion__Group__2__Impl_in_rule__Planificacion__Group__24707);
            rule__Planificacion__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Planificacion__Group__3_in_rule__Planificacion__Group__24710);
            rule__Planificacion__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__Group__2"


    // $ANTLR start "rule__Planificacion__Group__2__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2377:1: rule__Planificacion__Group__2__Impl : ( 'semestre:' ) ;
    public final void rule__Planificacion__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2381:1: ( ( 'semestre:' ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2382:1: ( 'semestre:' )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2382:1: ( 'semestre:' )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2383:1: 'semestre:'
            {
             before(grammarAccess.getPlanificacionAccess().getSemestreKeyword_2()); 
            match(input,38,FOLLOW_38_in_rule__Planificacion__Group__2__Impl4738); 
             after(grammarAccess.getPlanificacionAccess().getSemestreKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__Group__2__Impl"


    // $ANTLR start "rule__Planificacion__Group__3"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2396:1: rule__Planificacion__Group__3 : rule__Planificacion__Group__3__Impl rule__Planificacion__Group__4 ;
    public final void rule__Planificacion__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2400:1: ( rule__Planificacion__Group__3__Impl rule__Planificacion__Group__4 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2401:2: rule__Planificacion__Group__3__Impl rule__Planificacion__Group__4
            {
            pushFollow(FOLLOW_rule__Planificacion__Group__3__Impl_in_rule__Planificacion__Group__34769);
            rule__Planificacion__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Planificacion__Group__4_in_rule__Planificacion__Group__34772);
            rule__Planificacion__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__Group__3"


    // $ANTLR start "rule__Planificacion__Group__3__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2408:1: rule__Planificacion__Group__3__Impl : ( ( rule__Planificacion__SemestreAssignment_3 ) ) ;
    public final void rule__Planificacion__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2412:1: ( ( ( rule__Planificacion__SemestreAssignment_3 ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2413:1: ( ( rule__Planificacion__SemestreAssignment_3 ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2413:1: ( ( rule__Planificacion__SemestreAssignment_3 ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2414:1: ( rule__Planificacion__SemestreAssignment_3 )
            {
             before(grammarAccess.getPlanificacionAccess().getSemestreAssignment_3()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2415:1: ( rule__Planificacion__SemestreAssignment_3 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2415:2: rule__Planificacion__SemestreAssignment_3
            {
            pushFollow(FOLLOW_rule__Planificacion__SemestreAssignment_3_in_rule__Planificacion__Group__3__Impl4799);
            rule__Planificacion__SemestreAssignment_3();

            state._fsp--;


            }

             after(grammarAccess.getPlanificacionAccess().getSemestreAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__Group__3__Impl"


    // $ANTLR start "rule__Planificacion__Group__4"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2425:1: rule__Planificacion__Group__4 : rule__Planificacion__Group__4__Impl rule__Planificacion__Group__5 ;
    public final void rule__Planificacion__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2429:1: ( rule__Planificacion__Group__4__Impl rule__Planificacion__Group__5 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2430:2: rule__Planificacion__Group__4__Impl rule__Planificacion__Group__5
            {
            pushFollow(FOLLOW_rule__Planificacion__Group__4__Impl_in_rule__Planificacion__Group__44829);
            rule__Planificacion__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Planificacion__Group__5_in_rule__Planificacion__Group__44832);
            rule__Planificacion__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__Group__4"


    // $ANTLR start "rule__Planificacion__Group__4__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2437:1: rule__Planificacion__Group__4__Impl : ( '{' ) ;
    public final void rule__Planificacion__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2441:1: ( ( '{' ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2442:1: ( '{' )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2442:1: ( '{' )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2443:1: '{'
            {
             before(grammarAccess.getPlanificacionAccess().getLeftCurlyBracketKeyword_4()); 
            match(input,39,FOLLOW_39_in_rule__Planificacion__Group__4__Impl4860); 
             after(grammarAccess.getPlanificacionAccess().getLeftCurlyBracketKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__Group__4__Impl"


    // $ANTLR start "rule__Planificacion__Group__5"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2456:1: rule__Planificacion__Group__5 : rule__Planificacion__Group__5__Impl rule__Planificacion__Group__6 ;
    public final void rule__Planificacion__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2460:1: ( rule__Planificacion__Group__5__Impl rule__Planificacion__Group__6 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2461:2: rule__Planificacion__Group__5__Impl rule__Planificacion__Group__6
            {
            pushFollow(FOLLOW_rule__Planificacion__Group__5__Impl_in_rule__Planificacion__Group__54891);
            rule__Planificacion__Group__5__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Planificacion__Group__6_in_rule__Planificacion__Group__54894);
            rule__Planificacion__Group__6();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__Group__5"


    // $ANTLR start "rule__Planificacion__Group__5__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2468:1: rule__Planificacion__Group__5__Impl : ( 'materiasADictar' ) ;
    public final void rule__Planificacion__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2472:1: ( ( 'materiasADictar' ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2473:1: ( 'materiasADictar' )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2473:1: ( 'materiasADictar' )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2474:1: 'materiasADictar'
            {
             before(grammarAccess.getPlanificacionAccess().getMateriasADictarKeyword_5()); 
            match(input,40,FOLLOW_40_in_rule__Planificacion__Group__5__Impl4922); 
             after(grammarAccess.getPlanificacionAccess().getMateriasADictarKeyword_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__Group__5__Impl"


    // $ANTLR start "rule__Planificacion__Group__6"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2487:1: rule__Planificacion__Group__6 : rule__Planificacion__Group__6__Impl rule__Planificacion__Group__7 ;
    public final void rule__Planificacion__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2491:1: ( rule__Planificacion__Group__6__Impl rule__Planificacion__Group__7 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2492:2: rule__Planificacion__Group__6__Impl rule__Planificacion__Group__7
            {
            pushFollow(FOLLOW_rule__Planificacion__Group__6__Impl_in_rule__Planificacion__Group__64953);
            rule__Planificacion__Group__6__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Planificacion__Group__7_in_rule__Planificacion__Group__64956);
            rule__Planificacion__Group__7();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__Group__6"


    // $ANTLR start "rule__Planificacion__Group__6__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2499:1: rule__Planificacion__Group__6__Impl : ( '{' ) ;
    public final void rule__Planificacion__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2503:1: ( ( '{' ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2504:1: ( '{' )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2504:1: ( '{' )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2505:1: '{'
            {
             before(grammarAccess.getPlanificacionAccess().getLeftCurlyBracketKeyword_6()); 
            match(input,39,FOLLOW_39_in_rule__Planificacion__Group__6__Impl4984); 
             after(grammarAccess.getPlanificacionAccess().getLeftCurlyBracketKeyword_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__Group__6__Impl"


    // $ANTLR start "rule__Planificacion__Group__7"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2518:1: rule__Planificacion__Group__7 : rule__Planificacion__Group__7__Impl rule__Planificacion__Group__8 ;
    public final void rule__Planificacion__Group__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2522:1: ( rule__Planificacion__Group__7__Impl rule__Planificacion__Group__8 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2523:2: rule__Planificacion__Group__7__Impl rule__Planificacion__Group__8
            {
            pushFollow(FOLLOW_rule__Planificacion__Group__7__Impl_in_rule__Planificacion__Group__75015);
            rule__Planificacion__Group__7__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Planificacion__Group__8_in_rule__Planificacion__Group__75018);
            rule__Planificacion__Group__8();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__Group__7"


    // $ANTLR start "rule__Planificacion__Group__7__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2530:1: rule__Planificacion__Group__7__Impl : ( ( rule__Planificacion__MateriasADictarAssignment_7 )* ) ;
    public final void rule__Planificacion__Group__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2534:1: ( ( ( rule__Planificacion__MateriasADictarAssignment_7 )* ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2535:1: ( ( rule__Planificacion__MateriasADictarAssignment_7 )* )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2535:1: ( ( rule__Planificacion__MateriasADictarAssignment_7 )* )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2536:1: ( rule__Planificacion__MateriasADictarAssignment_7 )*
            {
             before(grammarAccess.getPlanificacionAccess().getMateriasADictarAssignment_7()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2537:1: ( rule__Planificacion__MateriasADictarAssignment_7 )*
            loop12:
            do {
                int alt12=2;
                int LA12_0 = input.LA(1);

                if ( (LA12_0==RULE_ID) ) {
                    alt12=1;
                }


                switch (alt12) {
            	case 1 :
            	    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2537:2: rule__Planificacion__MateriasADictarAssignment_7
            	    {
            	    pushFollow(FOLLOW_rule__Planificacion__MateriasADictarAssignment_7_in_rule__Planificacion__Group__7__Impl5045);
            	    rule__Planificacion__MateriasADictarAssignment_7();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop12;
                }
            } while (true);

             after(grammarAccess.getPlanificacionAccess().getMateriasADictarAssignment_7()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__Group__7__Impl"


    // $ANTLR start "rule__Planificacion__Group__8"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2547:1: rule__Planificacion__Group__8 : rule__Planificacion__Group__8__Impl rule__Planificacion__Group__9 ;
    public final void rule__Planificacion__Group__8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2551:1: ( rule__Planificacion__Group__8__Impl rule__Planificacion__Group__9 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2552:2: rule__Planificacion__Group__8__Impl rule__Planificacion__Group__9
            {
            pushFollow(FOLLOW_rule__Planificacion__Group__8__Impl_in_rule__Planificacion__Group__85076);
            rule__Planificacion__Group__8__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Planificacion__Group__9_in_rule__Planificacion__Group__85079);
            rule__Planificacion__Group__9();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__Group__8"


    // $ANTLR start "rule__Planificacion__Group__8__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2559:1: rule__Planificacion__Group__8__Impl : ( '}' ) ;
    public final void rule__Planificacion__Group__8__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2563:1: ( ( '}' ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2564:1: ( '}' )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2564:1: ( '}' )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2565:1: '}'
            {
             before(grammarAccess.getPlanificacionAccess().getRightCurlyBracketKeyword_8()); 
            match(input,41,FOLLOW_41_in_rule__Planificacion__Group__8__Impl5107); 
             after(grammarAccess.getPlanificacionAccess().getRightCurlyBracketKeyword_8()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__Group__8__Impl"


    // $ANTLR start "rule__Planificacion__Group__9"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2578:1: rule__Planificacion__Group__9 : rule__Planificacion__Group__9__Impl rule__Planificacion__Group__10 ;
    public final void rule__Planificacion__Group__9() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2582:1: ( rule__Planificacion__Group__9__Impl rule__Planificacion__Group__10 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2583:2: rule__Planificacion__Group__9__Impl rule__Planificacion__Group__10
            {
            pushFollow(FOLLOW_rule__Planificacion__Group__9__Impl_in_rule__Planificacion__Group__95138);
            rule__Planificacion__Group__9__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Planificacion__Group__10_in_rule__Planificacion__Group__95141);
            rule__Planificacion__Group__10();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__Group__9"


    // $ANTLR start "rule__Planificacion__Group__9__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2590:1: rule__Planificacion__Group__9__Impl : ( 'horarios {' ) ;
    public final void rule__Planificacion__Group__9__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2594:1: ( ( 'horarios {' ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2595:1: ( 'horarios {' )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2595:1: ( 'horarios {' )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2596:1: 'horarios {'
            {
             before(grammarAccess.getPlanificacionAccess().getHorariosKeyword_9()); 
            match(input,42,FOLLOW_42_in_rule__Planificacion__Group__9__Impl5169); 
             after(grammarAccess.getPlanificacionAccess().getHorariosKeyword_9()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__Group__9__Impl"


    // $ANTLR start "rule__Planificacion__Group__10"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2609:1: rule__Planificacion__Group__10 : rule__Planificacion__Group__10__Impl rule__Planificacion__Group__11 ;
    public final void rule__Planificacion__Group__10() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2613:1: ( rule__Planificacion__Group__10__Impl rule__Planificacion__Group__11 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2614:2: rule__Planificacion__Group__10__Impl rule__Planificacion__Group__11
            {
            pushFollow(FOLLOW_rule__Planificacion__Group__10__Impl_in_rule__Planificacion__Group__105200);
            rule__Planificacion__Group__10__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Planificacion__Group__11_in_rule__Planificacion__Group__105203);
            rule__Planificacion__Group__11();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__Group__10"


    // $ANTLR start "rule__Planificacion__Group__10__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2621:1: rule__Planificacion__Group__10__Impl : ( ( rule__Planificacion__HorariosXDiaAssignment_10 )* ) ;
    public final void rule__Planificacion__Group__10__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2625:1: ( ( ( rule__Planificacion__HorariosXDiaAssignment_10 )* ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2626:1: ( ( rule__Planificacion__HorariosXDiaAssignment_10 )* )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2626:1: ( ( rule__Planificacion__HorariosXDiaAssignment_10 )* )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2627:1: ( rule__Planificacion__HorariosXDiaAssignment_10 )*
            {
             before(grammarAccess.getPlanificacionAccess().getHorariosXDiaAssignment_10()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2628:1: ( rule__Planificacion__HorariosXDiaAssignment_10 )*
            loop13:
            do {
                int alt13=2;
                int LA13_0 = input.LA(1);

                if ( ((LA13_0>=11 && LA13_0<=16)) ) {
                    alt13=1;
                }


                switch (alt13) {
            	case 1 :
            	    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2628:2: rule__Planificacion__HorariosXDiaAssignment_10
            	    {
            	    pushFollow(FOLLOW_rule__Planificacion__HorariosXDiaAssignment_10_in_rule__Planificacion__Group__10__Impl5230);
            	    rule__Planificacion__HorariosXDiaAssignment_10();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop13;
                }
            } while (true);

             after(grammarAccess.getPlanificacionAccess().getHorariosXDiaAssignment_10()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__Group__10__Impl"


    // $ANTLR start "rule__Planificacion__Group__11"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2638:1: rule__Planificacion__Group__11 : rule__Planificacion__Group__11__Impl rule__Planificacion__Group__12 ;
    public final void rule__Planificacion__Group__11() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2642:1: ( rule__Planificacion__Group__11__Impl rule__Planificacion__Group__12 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2643:2: rule__Planificacion__Group__11__Impl rule__Planificacion__Group__12
            {
            pushFollow(FOLLOW_rule__Planificacion__Group__11__Impl_in_rule__Planificacion__Group__115261);
            rule__Planificacion__Group__11__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Planificacion__Group__12_in_rule__Planificacion__Group__115264);
            rule__Planificacion__Group__12();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__Group__11"


    // $ANTLR start "rule__Planificacion__Group__11__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2650:1: rule__Planificacion__Group__11__Impl : ( '}' ) ;
    public final void rule__Planificacion__Group__11__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2654:1: ( ( '}' ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2655:1: ( '}' )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2655:1: ( '}' )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2656:1: '}'
            {
             before(grammarAccess.getPlanificacionAccess().getRightCurlyBracketKeyword_11()); 
            match(input,41,FOLLOW_41_in_rule__Planificacion__Group__11__Impl5292); 
             after(grammarAccess.getPlanificacionAccess().getRightCurlyBracketKeyword_11()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__Group__11__Impl"


    // $ANTLR start "rule__Planificacion__Group__12"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2669:1: rule__Planificacion__Group__12 : rule__Planificacion__Group__12__Impl rule__Planificacion__Group__13 ;
    public final void rule__Planificacion__Group__12() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2673:1: ( rule__Planificacion__Group__12__Impl rule__Planificacion__Group__13 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2674:2: rule__Planificacion__Group__12__Impl rule__Planificacion__Group__13
            {
            pushFollow(FOLLOW_rule__Planificacion__Group__12__Impl_in_rule__Planificacion__Group__125323);
            rule__Planificacion__Group__12__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Planificacion__Group__13_in_rule__Planificacion__Group__125326);
            rule__Planificacion__Group__13();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__Group__12"


    // $ANTLR start "rule__Planificacion__Group__12__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2681:1: rule__Planificacion__Group__12__Impl : ( 'asignaciones {' ) ;
    public final void rule__Planificacion__Group__12__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2685:1: ( ( 'asignaciones {' ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2686:1: ( 'asignaciones {' )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2686:1: ( 'asignaciones {' )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2687:1: 'asignaciones {'
            {
             before(grammarAccess.getPlanificacionAccess().getAsignacionesKeyword_12()); 
            match(input,43,FOLLOW_43_in_rule__Planificacion__Group__12__Impl5354); 
             after(grammarAccess.getPlanificacionAccess().getAsignacionesKeyword_12()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__Group__12__Impl"


    // $ANTLR start "rule__Planificacion__Group__13"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2700:1: rule__Planificacion__Group__13 : rule__Planificacion__Group__13__Impl rule__Planificacion__Group__14 ;
    public final void rule__Planificacion__Group__13() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2704:1: ( rule__Planificacion__Group__13__Impl rule__Planificacion__Group__14 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2705:2: rule__Planificacion__Group__13__Impl rule__Planificacion__Group__14
            {
            pushFollow(FOLLOW_rule__Planificacion__Group__13__Impl_in_rule__Planificacion__Group__135385);
            rule__Planificacion__Group__13__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Planificacion__Group__14_in_rule__Planificacion__Group__135388);
            rule__Planificacion__Group__14();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__Group__13"


    // $ANTLR start "rule__Planificacion__Group__13__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2712:1: rule__Planificacion__Group__13__Impl : ( ( rule__Planificacion__AsignacionesAssignment_13 )* ) ;
    public final void rule__Planificacion__Group__13__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2716:1: ( ( ( rule__Planificacion__AsignacionesAssignment_13 )* ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2717:1: ( ( rule__Planificacion__AsignacionesAssignment_13 )* )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2717:1: ( ( rule__Planificacion__AsignacionesAssignment_13 )* )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2718:1: ( rule__Planificacion__AsignacionesAssignment_13 )*
            {
             before(grammarAccess.getPlanificacionAccess().getAsignacionesAssignment_13()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2719:1: ( rule__Planificacion__AsignacionesAssignment_13 )*
            loop14:
            do {
                int alt14=2;
                int LA14_0 = input.LA(1);

                if ( (LA14_0==34) ) {
                    alt14=1;
                }


                switch (alt14) {
            	case 1 :
            	    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2719:2: rule__Planificacion__AsignacionesAssignment_13
            	    {
            	    pushFollow(FOLLOW_rule__Planificacion__AsignacionesAssignment_13_in_rule__Planificacion__Group__13__Impl5415);
            	    rule__Planificacion__AsignacionesAssignment_13();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop14;
                }
            } while (true);

             after(grammarAccess.getPlanificacionAccess().getAsignacionesAssignment_13()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__Group__13__Impl"


    // $ANTLR start "rule__Planificacion__Group__14"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2729:1: rule__Planificacion__Group__14 : rule__Planificacion__Group__14__Impl rule__Planificacion__Group__15 ;
    public final void rule__Planificacion__Group__14() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2733:1: ( rule__Planificacion__Group__14__Impl rule__Planificacion__Group__15 )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2734:2: rule__Planificacion__Group__14__Impl rule__Planificacion__Group__15
            {
            pushFollow(FOLLOW_rule__Planificacion__Group__14__Impl_in_rule__Planificacion__Group__145446);
            rule__Planificacion__Group__14__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Planificacion__Group__15_in_rule__Planificacion__Group__145449);
            rule__Planificacion__Group__15();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__Group__14"


    // $ANTLR start "rule__Planificacion__Group__14__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2741:1: rule__Planificacion__Group__14__Impl : ( '}' ) ;
    public final void rule__Planificacion__Group__14__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2745:1: ( ( '}' ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2746:1: ( '}' )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2746:1: ( '}' )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2747:1: '}'
            {
             before(grammarAccess.getPlanificacionAccess().getRightCurlyBracketKeyword_14()); 
            match(input,41,FOLLOW_41_in_rule__Planificacion__Group__14__Impl5477); 
             after(grammarAccess.getPlanificacionAccess().getRightCurlyBracketKeyword_14()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__Group__14__Impl"


    // $ANTLR start "rule__Planificacion__Group__15"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2760:1: rule__Planificacion__Group__15 : rule__Planificacion__Group__15__Impl ;
    public final void rule__Planificacion__Group__15() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2764:1: ( rule__Planificacion__Group__15__Impl )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2765:2: rule__Planificacion__Group__15__Impl
            {
            pushFollow(FOLLOW_rule__Planificacion__Group__15__Impl_in_rule__Planificacion__Group__155508);
            rule__Planificacion__Group__15__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__Group__15"


    // $ANTLR start "rule__Planificacion__Group__15__Impl"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2771:1: rule__Planificacion__Group__15__Impl : ( '}' ) ;
    public final void rule__Planificacion__Group__15__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2775:1: ( ( '}' ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2776:1: ( '}' )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2776:1: ( '}' )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2777:1: '}'
            {
             before(grammarAccess.getPlanificacionAccess().getRightCurlyBracketKeyword_15()); 
            match(input,41,FOLLOW_41_in_rule__Planificacion__Group__15__Impl5536); 
             after(grammarAccess.getPlanificacionAccess().getRightCurlyBracketKeyword_15()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__Group__15__Impl"


    // $ANTLR start "rule__Model__RequerimientosACargarAssignment_0"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2823:1: rule__Model__RequerimientosACargarAssignment_0 : ( ruleRequerimiento ) ;
    public final void rule__Model__RequerimientosACargarAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2827:1: ( ( ruleRequerimiento ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2828:1: ( ruleRequerimiento )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2828:1: ( ruleRequerimiento )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2829:1: ruleRequerimiento
            {
             before(grammarAccess.getModelAccess().getRequerimientosACargarRequerimientoParserRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleRequerimiento_in_rule__Model__RequerimientosACargarAssignment_05604);
            ruleRequerimiento();

            state._fsp--;

             after(grammarAccess.getModelAccess().getRequerimientosACargarRequerimientoParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Model__RequerimientosACargarAssignment_0"


    // $ANTLR start "rule__Model__ProfesoresACargarAssignment_1"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2838:1: rule__Model__ProfesoresACargarAssignment_1 : ( ruleProfesor ) ;
    public final void rule__Model__ProfesoresACargarAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2842:1: ( ( ruleProfesor ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2843:1: ( ruleProfesor )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2843:1: ( ruleProfesor )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2844:1: ruleProfesor
            {
             before(grammarAccess.getModelAccess().getProfesoresACargarProfesorParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleProfesor_in_rule__Model__ProfesoresACargarAssignment_15635);
            ruleProfesor();

            state._fsp--;

             after(grammarAccess.getModelAccess().getProfesoresACargarProfesorParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Model__ProfesoresACargarAssignment_1"


    // $ANTLR start "rule__Model__MateriasACargarAssignment_2"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2853:1: rule__Model__MateriasACargarAssignment_2 : ( ruleMateria ) ;
    public final void rule__Model__MateriasACargarAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2857:1: ( ( ruleMateria ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2858:1: ( ruleMateria )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2858:1: ( ruleMateria )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2859:1: ruleMateria
            {
             before(grammarAccess.getModelAccess().getMateriasACargarMateriaParserRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleMateria_in_rule__Model__MateriasACargarAssignment_25666);
            ruleMateria();

            state._fsp--;

             after(grammarAccess.getModelAccess().getMateriasACargarMateriaParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Model__MateriasACargarAssignment_2"


    // $ANTLR start "rule__Model__AulasACargarAssignment_3"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2868:1: rule__Model__AulasACargarAssignment_3 : ( ruleAula ) ;
    public final void rule__Model__AulasACargarAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2872:1: ( ( ruleAula ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2873:1: ( ruleAula )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2873:1: ( ruleAula )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2874:1: ruleAula
            {
             before(grammarAccess.getModelAccess().getAulasACargarAulaParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleAula_in_rule__Model__AulasACargarAssignment_35697);
            ruleAula();

            state._fsp--;

             after(grammarAccess.getModelAccess().getAulasACargarAulaParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Model__AulasACargarAssignment_3"


    // $ANTLR start "rule__Model__PlanificacionAssignment_4"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2883:1: rule__Model__PlanificacionAssignment_4 : ( rulePlanificacion ) ;
    public final void rule__Model__PlanificacionAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2887:1: ( ( rulePlanificacion ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2888:1: ( rulePlanificacion )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2888:1: ( rulePlanificacion )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2889:1: rulePlanificacion
            {
             before(grammarAccess.getModelAccess().getPlanificacionPlanificacionParserRuleCall_4_0()); 
            pushFollow(FOLLOW_rulePlanificacion_in_rule__Model__PlanificacionAssignment_45728);
            rulePlanificacion();

            state._fsp--;

             after(grammarAccess.getModelAccess().getPlanificacionPlanificacionParserRuleCall_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Model__PlanificacionAssignment_4"


    // $ANTLR start "rule__Profesor__NameAssignment_1"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2898:1: rule__Profesor__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Profesor__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2902:1: ( ( RULE_ID ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2903:1: ( RULE_ID )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2903:1: ( RULE_ID )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2904:1: RULE_ID
            {
             before(grammarAccess.getProfesorAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Profesor__NameAssignment_15759); 
             after(grammarAccess.getProfesorAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Profesor__NameAssignment_1"


    // $ANTLR start "rule__Profesor__DedicacionAssignment_3"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2913:1: rule__Profesor__DedicacionAssignment_3 : ( ruleDedicacion ) ;
    public final void rule__Profesor__DedicacionAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2917:1: ( ( ruleDedicacion ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2918:1: ( ruleDedicacion )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2918:1: ( ruleDedicacion )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2919:1: ruleDedicacion
            {
             before(grammarAccess.getProfesorAccess().getDedicacionDedicacionParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleDedicacion_in_rule__Profesor__DedicacionAssignment_35790);
            ruleDedicacion();

            state._fsp--;

             after(grammarAccess.getProfesorAccess().getDedicacionDedicacionParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Profesor__DedicacionAssignment_3"


    // $ANTLR start "rule__Materia__NameAssignment_1"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2928:1: rule__Materia__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Materia__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2932:1: ( ( RULE_ID ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2933:1: ( RULE_ID )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2933:1: ( RULE_ID )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2934:1: RULE_ID
            {
             before(grammarAccess.getMateriaAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Materia__NameAssignment_15821); 
             after(grammarAccess.getMateriaAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Materia__NameAssignment_1"


    // $ANTLR start "rule__Materia__DiasEnLaSemanaAssignment_3"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2943:1: rule__Materia__DiasEnLaSemanaAssignment_3 : ( RULE_INT ) ;
    public final void rule__Materia__DiasEnLaSemanaAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2947:1: ( ( RULE_INT ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2948:1: ( RULE_INT )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2948:1: ( RULE_INT )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2949:1: RULE_INT
            {
             before(grammarAccess.getMateriaAccess().getDiasEnLaSemanaINTTerminalRuleCall_3_0()); 
            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Materia__DiasEnLaSemanaAssignment_35852); 
             after(grammarAccess.getMateriaAccess().getDiasEnLaSemanaINTTerminalRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Materia__DiasEnLaSemanaAssignment_3"


    // $ANTLR start "rule__Materia__CargaHorariaAssignment_5"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2958:1: rule__Materia__CargaHorariaAssignment_5 : ( RULE_INT ) ;
    public final void rule__Materia__CargaHorariaAssignment_5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2962:1: ( ( RULE_INT ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2963:1: ( RULE_INT )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2963:1: ( RULE_INT )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2964:1: RULE_INT
            {
             before(grammarAccess.getMateriaAccess().getCargaHorariaINTTerminalRuleCall_5_0()); 
            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Materia__CargaHorariaAssignment_55883); 
             after(grammarAccess.getMateriaAccess().getCargaHorariaINTTerminalRuleCall_5_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Materia__CargaHorariaAssignment_5"


    // $ANTLR start "rule__Materia__RequerimientosAssignment_6_1"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2973:1: rule__Materia__RequerimientosAssignment_6_1 : ( ( RULE_ID ) ) ;
    public final void rule__Materia__RequerimientosAssignment_6_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2977:1: ( ( ( RULE_ID ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2978:1: ( ( RULE_ID ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2978:1: ( ( RULE_ID ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2979:1: ( RULE_ID )
            {
             before(grammarAccess.getMateriaAccess().getRequerimientosRequerimientoCrossReference_6_1_0()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2980:1: ( RULE_ID )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2981:1: RULE_ID
            {
             before(grammarAccess.getMateriaAccess().getRequerimientosRequerimientoIDTerminalRuleCall_6_1_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Materia__RequerimientosAssignment_6_15918); 
             after(grammarAccess.getMateriaAccess().getRequerimientosRequerimientoIDTerminalRuleCall_6_1_0_1()); 

            }

             after(grammarAccess.getMateriaAccess().getRequerimientosRequerimientoCrossReference_6_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Materia__RequerimientosAssignment_6_1"


    // $ANTLR start "rule__Materia__RequerimientosAssignment_6_2_1"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2992:1: rule__Materia__RequerimientosAssignment_6_2_1 : ( ( RULE_ID ) ) ;
    public final void rule__Materia__RequerimientosAssignment_6_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2996:1: ( ( ( RULE_ID ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2997:1: ( ( RULE_ID ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2997:1: ( ( RULE_ID ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2998:1: ( RULE_ID )
            {
             before(grammarAccess.getMateriaAccess().getRequerimientosRequerimientoCrossReference_6_2_1_0()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:2999:1: ( RULE_ID )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3000:1: RULE_ID
            {
             before(grammarAccess.getMateriaAccess().getRequerimientosRequerimientoIDTerminalRuleCall_6_2_1_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Materia__RequerimientosAssignment_6_2_15957); 
             after(grammarAccess.getMateriaAccess().getRequerimientosRequerimientoIDTerminalRuleCall_6_2_1_0_1()); 

            }

             after(grammarAccess.getMateriaAccess().getRequerimientosRequerimientoCrossReference_6_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Materia__RequerimientosAssignment_6_2_1"


    // $ANTLR start "rule__Aula__NameAssignment_1"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3011:1: rule__Aula__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Aula__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3015:1: ( ( RULE_ID ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3016:1: ( RULE_ID )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3016:1: ( RULE_ID )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3017:1: RULE_ID
            {
             before(grammarAccess.getAulaAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Aula__NameAssignment_15992); 
             after(grammarAccess.getAulaAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Aula__NameAssignment_1"


    // $ANTLR start "rule__Aula__CapacidadAulaAssignment_3"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3026:1: rule__Aula__CapacidadAulaAssignment_3 : ( RULE_INT ) ;
    public final void rule__Aula__CapacidadAulaAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3030:1: ( ( RULE_INT ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3031:1: ( RULE_INT )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3031:1: ( RULE_INT )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3032:1: RULE_INT
            {
             before(grammarAccess.getAulaAccess().getCapacidadAulaINTTerminalRuleCall_3_0()); 
            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Aula__CapacidadAulaAssignment_36023); 
             after(grammarAccess.getAulaAccess().getCapacidadAulaINTTerminalRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Aula__CapacidadAulaAssignment_3"


    // $ANTLR start "rule__Aula__RequerimientosAssignment_5_1"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3041:1: rule__Aula__RequerimientosAssignment_5_1 : ( ( RULE_ID ) ) ;
    public final void rule__Aula__RequerimientosAssignment_5_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3045:1: ( ( ( RULE_ID ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3046:1: ( ( RULE_ID ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3046:1: ( ( RULE_ID ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3047:1: ( RULE_ID )
            {
             before(grammarAccess.getAulaAccess().getRequerimientosRequerimientoCrossReference_5_1_0()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3048:1: ( RULE_ID )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3049:1: RULE_ID
            {
             before(grammarAccess.getAulaAccess().getRequerimientosRequerimientoIDTerminalRuleCall_5_1_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Aula__RequerimientosAssignment_5_16058); 
             after(grammarAccess.getAulaAccess().getRequerimientosRequerimientoIDTerminalRuleCall_5_1_0_1()); 

            }

             after(grammarAccess.getAulaAccess().getRequerimientosRequerimientoCrossReference_5_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Aula__RequerimientosAssignment_5_1"


    // $ANTLR start "rule__Aula__RequerimientosAssignment_5_2_1"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3060:1: rule__Aula__RequerimientosAssignment_5_2_1 : ( ( RULE_ID ) ) ;
    public final void rule__Aula__RequerimientosAssignment_5_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3064:1: ( ( ( RULE_ID ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3065:1: ( ( RULE_ID ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3065:1: ( ( RULE_ID ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3066:1: ( RULE_ID )
            {
             before(grammarAccess.getAulaAccess().getRequerimientosRequerimientoCrossReference_5_2_1_0()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3067:1: ( RULE_ID )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3068:1: RULE_ID
            {
             before(grammarAccess.getAulaAccess().getRequerimientosRequerimientoIDTerminalRuleCall_5_2_1_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Aula__RequerimientosAssignment_5_2_16097); 
             after(grammarAccess.getAulaAccess().getRequerimientosRequerimientoIDTerminalRuleCall_5_2_1_0_1()); 

            }

             after(grammarAccess.getAulaAccess().getRequerimientosRequerimientoCrossReference_5_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Aula__RequerimientosAssignment_5_2_1"


    // $ANTLR start "rule__Requerimiento__NameAssignment_1"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3079:1: rule__Requerimiento__NameAssignment_1 : ( RULE_ID ) ;
    public final void rule__Requerimiento__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3083:1: ( ( RULE_ID ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3084:1: ( RULE_ID )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3084:1: ( RULE_ID )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3085:1: RULE_ID
            {
             before(grammarAccess.getRequerimientoAccess().getNameIDTerminalRuleCall_1_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Requerimiento__NameAssignment_16132); 
             after(grammarAccess.getRequerimientoAccess().getNameIDTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Requerimiento__NameAssignment_1"


    // $ANTLR start "rule__Horario__HoraInicioAssignment_0"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3094:1: rule__Horario__HoraInicioAssignment_0 : ( RULE_INT ) ;
    public final void rule__Horario__HoraInicioAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3098:1: ( ( RULE_INT ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3099:1: ( RULE_INT )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3099:1: ( RULE_INT )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3100:1: RULE_INT
            {
             before(grammarAccess.getHorarioAccess().getHoraInicioINTTerminalRuleCall_0_0()); 
            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Horario__HoraInicioAssignment_06163); 
             after(grammarAccess.getHorarioAccess().getHoraInicioINTTerminalRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Horario__HoraInicioAssignment_0"


    // $ANTLR start "rule__Horario__HoraFinAssignment_2"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3109:1: rule__Horario__HoraFinAssignment_2 : ( RULE_INT ) ;
    public final void rule__Horario__HoraFinAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3113:1: ( ( RULE_INT ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3114:1: ( RULE_INT )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3114:1: ( RULE_INT )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3115:1: RULE_INT
            {
             before(grammarAccess.getHorarioAccess().getHoraFinINTTerminalRuleCall_2_0()); 
            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Horario__HoraFinAssignment_26194); 
             after(grammarAccess.getHorarioAccess().getHoraFinINTTerminalRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Horario__HoraFinAssignment_2"


    // $ANTLR start "rule__Horario__MateriaAssignment_3"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3124:1: rule__Horario__MateriaAssignment_3 : ( ( RULE_ID ) ) ;
    public final void rule__Horario__MateriaAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3128:1: ( ( ( RULE_ID ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3129:1: ( ( RULE_ID ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3129:1: ( ( RULE_ID ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3130:1: ( RULE_ID )
            {
             before(grammarAccess.getHorarioAccess().getMateriaMateriaCrossReference_3_0()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3131:1: ( RULE_ID )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3132:1: RULE_ID
            {
             before(grammarAccess.getHorarioAccess().getMateriaMateriaIDTerminalRuleCall_3_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Horario__MateriaAssignment_36229); 
             after(grammarAccess.getHorarioAccess().getMateriaMateriaIDTerminalRuleCall_3_0_1()); 

            }

             after(grammarAccess.getHorarioAccess().getMateriaMateriaCrossReference_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Horario__MateriaAssignment_3"


    // $ANTLR start "rule__Horario__AulaAssignment_5"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3143:1: rule__Horario__AulaAssignment_5 : ( ( RULE_ID ) ) ;
    public final void rule__Horario__AulaAssignment_5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3147:1: ( ( ( RULE_ID ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3148:1: ( ( RULE_ID ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3148:1: ( ( RULE_ID ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3149:1: ( RULE_ID )
            {
             before(grammarAccess.getHorarioAccess().getAulaAulaCrossReference_5_0()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3150:1: ( RULE_ID )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3151:1: RULE_ID
            {
             before(grammarAccess.getHorarioAccess().getAulaAulaIDTerminalRuleCall_5_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Horario__AulaAssignment_56268); 
             after(grammarAccess.getHorarioAccess().getAulaAulaIDTerminalRuleCall_5_0_1()); 

            }

             after(grammarAccess.getHorarioAccess().getAulaAulaCrossReference_5_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Horario__AulaAssignment_5"


    // $ANTLR start "rule__HorarioXDia__DiaAssignment_0"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3162:1: rule__HorarioXDia__DiaAssignment_0 : ( ruleDia ) ;
    public final void rule__HorarioXDia__DiaAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3166:1: ( ( ruleDia ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3167:1: ( ruleDia )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3167:1: ( ruleDia )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3168:1: ruleDia
            {
             before(grammarAccess.getHorarioXDiaAccess().getDiaDiaParserRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleDia_in_rule__HorarioXDia__DiaAssignment_06303);
            ruleDia();

            state._fsp--;

             after(grammarAccess.getHorarioXDiaAccess().getDiaDiaParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__HorarioXDia__DiaAssignment_0"


    // $ANTLR start "rule__HorarioXDia__HorariosAssignment_1"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3177:1: rule__HorarioXDia__HorariosAssignment_1 : ( ruleHorario ) ;
    public final void rule__HorarioXDia__HorariosAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3181:1: ( ( ruleHorario ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3182:1: ( ruleHorario )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3182:1: ( ruleHorario )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3183:1: ruleHorario
            {
             before(grammarAccess.getHorarioXDiaAccess().getHorariosHorarioParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleHorario_in_rule__HorarioXDia__HorariosAssignment_16334);
            ruleHorario();

            state._fsp--;

             after(grammarAccess.getHorarioXDiaAccess().getHorariosHorarioParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__HorarioXDia__HorariosAssignment_1"


    // $ANTLR start "rule__Asignacion__MateriaAssignment_1"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3192:1: rule__Asignacion__MateriaAssignment_1 : ( ( RULE_ID ) ) ;
    public final void rule__Asignacion__MateriaAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3196:1: ( ( ( RULE_ID ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3197:1: ( ( RULE_ID ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3197:1: ( ( RULE_ID ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3198:1: ( RULE_ID )
            {
             before(grammarAccess.getAsignacionAccess().getMateriaMateriaCrossReference_1_0()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3199:1: ( RULE_ID )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3200:1: RULE_ID
            {
             before(grammarAccess.getAsignacionAccess().getMateriaMateriaIDTerminalRuleCall_1_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Asignacion__MateriaAssignment_16369); 
             after(grammarAccess.getAsignacionAccess().getMateriaMateriaIDTerminalRuleCall_1_0_1()); 

            }

             after(grammarAccess.getAsignacionAccess().getMateriaMateriaCrossReference_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Asignacion__MateriaAssignment_1"


    // $ANTLR start "rule__Asignacion__ProfesorAssignment_3"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3211:1: rule__Asignacion__ProfesorAssignment_3 : ( ( RULE_ID ) ) ;
    public final void rule__Asignacion__ProfesorAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3215:1: ( ( ( RULE_ID ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3216:1: ( ( RULE_ID ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3216:1: ( ( RULE_ID ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3217:1: ( RULE_ID )
            {
             before(grammarAccess.getAsignacionAccess().getProfesorProfesorCrossReference_3_0()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3218:1: ( RULE_ID )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3219:1: RULE_ID
            {
             before(grammarAccess.getAsignacionAccess().getProfesorProfesorIDTerminalRuleCall_3_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Asignacion__ProfesorAssignment_36408); 
             after(grammarAccess.getAsignacionAccess().getProfesorProfesorIDTerminalRuleCall_3_0_1()); 

            }

             after(grammarAccess.getAsignacionAccess().getProfesorProfesorCrossReference_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Asignacion__ProfesorAssignment_3"


    // $ANTLR start "rule__ADictar__MateriaAssignment_0"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3230:1: rule__ADictar__MateriaAssignment_0 : ( ( RULE_ID ) ) ;
    public final void rule__ADictar__MateriaAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3234:1: ( ( ( RULE_ID ) ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3235:1: ( ( RULE_ID ) )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3235:1: ( ( RULE_ID ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3236:1: ( RULE_ID )
            {
             before(grammarAccess.getADictarAccess().getMateriaMateriaCrossReference_0_0()); 
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3237:1: ( RULE_ID )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3238:1: RULE_ID
            {
             before(grammarAccess.getADictarAccess().getMateriaMateriaIDTerminalRuleCall_0_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ADictar__MateriaAssignment_06447); 
             after(grammarAccess.getADictarAccess().getMateriaMateriaIDTerminalRuleCall_0_0_1()); 

            }

             after(grammarAccess.getADictarAccess().getMateriaMateriaCrossReference_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ADictar__MateriaAssignment_0"


    // $ANTLR start "rule__ADictar__InscriptosAssignment_2"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3249:1: rule__ADictar__InscriptosAssignment_2 : ( RULE_INT ) ;
    public final void rule__ADictar__InscriptosAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3253:1: ( ( RULE_INT ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3254:1: ( RULE_INT )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3254:1: ( RULE_INT )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3255:1: RULE_INT
            {
             before(grammarAccess.getADictarAccess().getInscriptosINTTerminalRuleCall_2_0()); 
            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__ADictar__InscriptosAssignment_26482); 
             after(grammarAccess.getADictarAccess().getInscriptosINTTerminalRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ADictar__InscriptosAssignment_2"


    // $ANTLR start "rule__Planificacion__AnioAssignment_1"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3264:1: rule__Planificacion__AnioAssignment_1 : ( RULE_INT ) ;
    public final void rule__Planificacion__AnioAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3268:1: ( ( RULE_INT ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3269:1: ( RULE_INT )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3269:1: ( RULE_INT )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3270:1: RULE_INT
            {
             before(grammarAccess.getPlanificacionAccess().getAnioINTTerminalRuleCall_1_0()); 
            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Planificacion__AnioAssignment_16513); 
             after(grammarAccess.getPlanificacionAccess().getAnioINTTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__AnioAssignment_1"


    // $ANTLR start "rule__Planificacion__SemestreAssignment_3"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3279:1: rule__Planificacion__SemestreAssignment_3 : ( RULE_INT ) ;
    public final void rule__Planificacion__SemestreAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3283:1: ( ( RULE_INT ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3284:1: ( RULE_INT )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3284:1: ( RULE_INT )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3285:1: RULE_INT
            {
             before(grammarAccess.getPlanificacionAccess().getSemestreINTTerminalRuleCall_3_0()); 
            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Planificacion__SemestreAssignment_36544); 
             after(grammarAccess.getPlanificacionAccess().getSemestreINTTerminalRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__SemestreAssignment_3"


    // $ANTLR start "rule__Planificacion__MateriasADictarAssignment_7"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3294:1: rule__Planificacion__MateriasADictarAssignment_7 : ( ruleADictar ) ;
    public final void rule__Planificacion__MateriasADictarAssignment_7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3298:1: ( ( ruleADictar ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3299:1: ( ruleADictar )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3299:1: ( ruleADictar )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3300:1: ruleADictar
            {
             before(grammarAccess.getPlanificacionAccess().getMateriasADictarADictarParserRuleCall_7_0()); 
            pushFollow(FOLLOW_ruleADictar_in_rule__Planificacion__MateriasADictarAssignment_76575);
            ruleADictar();

            state._fsp--;

             after(grammarAccess.getPlanificacionAccess().getMateriasADictarADictarParserRuleCall_7_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__MateriasADictarAssignment_7"


    // $ANTLR start "rule__Planificacion__HorariosXDiaAssignment_10"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3309:1: rule__Planificacion__HorariosXDiaAssignment_10 : ( ruleHorarioXDia ) ;
    public final void rule__Planificacion__HorariosXDiaAssignment_10() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3313:1: ( ( ruleHorarioXDia ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3314:1: ( ruleHorarioXDia )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3314:1: ( ruleHorarioXDia )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3315:1: ruleHorarioXDia
            {
             before(grammarAccess.getPlanificacionAccess().getHorariosXDiaHorarioXDiaParserRuleCall_10_0()); 
            pushFollow(FOLLOW_ruleHorarioXDia_in_rule__Planificacion__HorariosXDiaAssignment_106606);
            ruleHorarioXDia();

            state._fsp--;

             after(grammarAccess.getPlanificacionAccess().getHorariosXDiaHorarioXDiaParserRuleCall_10_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__HorariosXDiaAssignment_10"


    // $ANTLR start "rule__Planificacion__AsignacionesAssignment_13"
    // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3324:1: rule__Planificacion__AsignacionesAssignment_13 : ( ruleAsignacion ) ;
    public final void rule__Planificacion__AsignacionesAssignment_13() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3328:1: ( ( ruleAsignacion ) )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3329:1: ( ruleAsignacion )
            {
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3329:1: ( ruleAsignacion )
            // ../tp4.dsl.pdm.ui/src-gen/tp4/dsl/ui/contentassist/antlr/internal/InternalPdm.g:3330:1: ruleAsignacion
            {
             before(grammarAccess.getPlanificacionAccess().getAsignacionesAsignacionParserRuleCall_13_0()); 
            pushFollow(FOLLOW_ruleAsignacion_in_rule__Planificacion__AsignacionesAssignment_136637);
            ruleAsignacion();

            state._fsp--;

             after(grammarAccess.getPlanificacionAccess().getAsignacionesAsignacionParserRuleCall_13_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Planificacion__AsignacionesAssignment_13"

    // Delegated rules


 

    public static final BitSet FOLLOW_ruleModel_in_entryRuleModel61 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleModel68 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Model__Group__0_in_ruleModel94 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleProfesor_in_entryRuleProfesor121 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleProfesor128 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Profesor__Group__0_in_ruleProfesor154 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDedicacion_in_entryRuleDedicacion181 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleDedicacion188 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Dedicacion__Alternatives_in_ruleDedicacion214 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSimple_in_entryRuleSimple241 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleSimple248 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Simple__Group__0_in_ruleSimple274 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSemi_in_entryRuleSemi301 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleSemi308 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Semi__Group__0_in_ruleSemi334 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExclusivo_in_entryRuleExclusivo361 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleExclusivo368 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Exclusivo__Group__0_in_ruleExclusivo394 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMateria_in_entryRuleMateria421 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleMateria428 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Materia__Group__0_in_ruleMateria454 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAula_in_entryRuleAula481 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAula488 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Aula__Group__0_in_ruleAula514 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRequerimiento_in_entryRuleRequerimiento541 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRequerimiento548 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Requerimiento__Group__0_in_ruleRequerimiento574 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleHorario_in_entryRuleHorario601 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleHorario608 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Horario__Group__0_in_ruleHorario634 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleHorarioXDia_in_entryRuleHorarioXDia661 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleHorarioXDia668 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__HorarioXDia__Group__0_in_ruleHorarioXDia694 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDia_in_entryRuleDia721 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleDia728 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Dia__Alternatives_in_ruleDia754 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAsignacion_in_entryRuleAsignacion781 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAsignacion788 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Asignacion__Group__0_in_ruleAsignacion814 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleADictar_in_entryRuleADictar841 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleADictar848 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ADictar__Group__0_in_ruleADictar874 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePlanificacion_in_entryRulePlanificacion901 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRulePlanificacion908 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Planificacion__Group__0_in_rulePlanificacion934 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSimple_in_rule__Dedicacion__Alternatives970 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSemi_in_rule__Dedicacion__Alternatives987 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleExclusivo_in_rule__Dedicacion__Alternatives1004 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_11_in_rule__Dia__Alternatives1037 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__Dia__Alternatives1057 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__Dia__Alternatives1077 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_rule__Dia__Alternatives1097 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__Dia__Alternatives1117 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Dia__Alternatives1137 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Model__Group__0__Impl_in_rule__Model__Group__01169 = new BitSet(new long[]{0x0000002008420000L});
    public static final BitSet FOLLOW_rule__Model__Group__1_in_rule__Model__Group__01172 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Model__RequerimientosACargarAssignment_0_in_rule__Model__Group__0__Impl1199 = new BitSet(new long[]{0x0000000080000002L});
    public static final BitSet FOLLOW_rule__Model__Group__1__Impl_in_rule__Model__Group__11230 = new BitSet(new long[]{0x0000002008420000L});
    public static final BitSet FOLLOW_rule__Model__Group__2_in_rule__Model__Group__11233 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Model__ProfesoresACargarAssignment_1_in_rule__Model__Group__1__Impl1260 = new BitSet(new long[]{0x0000000000020002L});
    public static final BitSet FOLLOW_rule__Model__Group__2__Impl_in_rule__Model__Group__21291 = new BitSet(new long[]{0x0000002008420000L});
    public static final BitSet FOLLOW_rule__Model__Group__3_in_rule__Model__Group__21294 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Model__MateriasACargarAssignment_2_in_rule__Model__Group__2__Impl1321 = new BitSet(new long[]{0x0000000000400002L});
    public static final BitSet FOLLOW_rule__Model__Group__3__Impl_in_rule__Model__Group__31352 = new BitSet(new long[]{0x0000002008420000L});
    public static final BitSet FOLLOW_rule__Model__Group__4_in_rule__Model__Group__31355 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Model__AulasACargarAssignment_3_in_rule__Model__Group__3__Impl1382 = new BitSet(new long[]{0x0000000008000002L});
    public static final BitSet FOLLOW_rule__Model__Group__4__Impl_in_rule__Model__Group__41413 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Model__PlanificacionAssignment_4_in_rule__Model__Group__4__Impl1440 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Profesor__Group__0__Impl_in_rule__Profesor__Group__01480 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Profesor__Group__1_in_rule__Profesor__Group__01483 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_rule__Profesor__Group__0__Impl1511 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Profesor__Group__1__Impl_in_rule__Profesor__Group__11542 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Profesor__Group__2_in_rule__Profesor__Group__11545 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Profesor__NameAssignment_1_in_rule__Profesor__Group__1__Impl1572 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Profesor__Group__2__Impl_in_rule__Profesor__Group__21602 = new BitSet(new long[]{0x0000000000380000L});
    public static final BitSet FOLLOW_rule__Profesor__Group__3_in_rule__Profesor__Group__21605 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Profesor__Group__2__Impl1633 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Profesor__Group__3__Impl_in_rule__Profesor__Group__31664 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Profesor__DedicacionAssignment_3_in_rule__Profesor__Group__3__Impl1691 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Simple__Group__0__Impl_in_rule__Simple__Group__01729 = new BitSet(new long[]{0x0000000000080000L});
    public static final BitSet FOLLOW_rule__Simple__Group__1_in_rule__Simple__Group__01732 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Simple__Group__1__Impl_in_rule__Simple__Group__11790 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_19_in_rule__Simple__Group__1__Impl1818 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Semi__Group__0__Impl_in_rule__Semi__Group__01853 = new BitSet(new long[]{0x0000000000100000L});
    public static final BitSet FOLLOW_rule__Semi__Group__1_in_rule__Semi__Group__01856 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Semi__Group__1__Impl_in_rule__Semi__Group__11914 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_20_in_rule__Semi__Group__1__Impl1942 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Exclusivo__Group__0__Impl_in_rule__Exclusivo__Group__01977 = new BitSet(new long[]{0x0000000000380000L});
    public static final BitSet FOLLOW_rule__Exclusivo__Group__1_in_rule__Exclusivo__Group__01980 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Exclusivo__Group__1__Impl_in_rule__Exclusivo__Group__12038 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_rule__Exclusivo__Group__1__Impl2066 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Materia__Group__0__Impl_in_rule__Materia__Group__02101 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Materia__Group__1_in_rule__Materia__Group__02104 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_22_in_rule__Materia__Group__0__Impl2132 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Materia__Group__1__Impl_in_rule__Materia__Group__12163 = new BitSet(new long[]{0x0000000000800000L});
    public static final BitSet FOLLOW_rule__Materia__Group__2_in_rule__Materia__Group__12166 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Materia__NameAssignment_1_in_rule__Materia__Group__1__Impl2193 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Materia__Group__2__Impl_in_rule__Materia__Group__22223 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Materia__Group__3_in_rule__Materia__Group__22226 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_23_in_rule__Materia__Group__2__Impl2254 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Materia__Group__3__Impl_in_rule__Materia__Group__32285 = new BitSet(new long[]{0x0000000001000000L});
    public static final BitSet FOLLOW_rule__Materia__Group__4_in_rule__Materia__Group__32288 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Materia__DiasEnLaSemanaAssignment_3_in_rule__Materia__Group__3__Impl2315 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Materia__Group__4__Impl_in_rule__Materia__Group__42345 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Materia__Group__5_in_rule__Materia__Group__42348 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_24_in_rule__Materia__Group__4__Impl2376 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Materia__Group__5__Impl_in_rule__Materia__Group__52407 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_rule__Materia__Group__6_in_rule__Materia__Group__52410 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Materia__CargaHorariaAssignment_5_in_rule__Materia__Group__5__Impl2437 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Materia__Group__6__Impl_in_rule__Materia__Group__62467 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Materia__Group_6__0_in_rule__Materia__Group__6__Impl2494 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Materia__Group_6__0__Impl_in_rule__Materia__Group_6__02539 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Materia__Group_6__1_in_rule__Materia__Group_6__02542 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_25_in_rule__Materia__Group_6__0__Impl2570 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Materia__Group_6__1__Impl_in_rule__Materia__Group_6__12601 = new BitSet(new long[]{0x0000000004000000L});
    public static final BitSet FOLLOW_rule__Materia__Group_6__2_in_rule__Materia__Group_6__12604 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Materia__RequerimientosAssignment_6_1_in_rule__Materia__Group_6__1__Impl2631 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Materia__Group_6__2__Impl_in_rule__Materia__Group_6__22661 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Materia__Group_6_2__0_in_rule__Materia__Group_6__2__Impl2688 = new BitSet(new long[]{0x0000000004000002L});
    public static final BitSet FOLLOW_rule__Materia__Group_6_2__0__Impl_in_rule__Materia__Group_6_2__02725 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Materia__Group_6_2__1_in_rule__Materia__Group_6_2__02728 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_26_in_rule__Materia__Group_6_2__0__Impl2756 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Materia__Group_6_2__1__Impl_in_rule__Materia__Group_6_2__12787 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Materia__RequerimientosAssignment_6_2_1_in_rule__Materia__Group_6_2__1__Impl2814 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Aula__Group__0__Impl_in_rule__Aula__Group__02848 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Aula__Group__1_in_rule__Aula__Group__02851 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_27_in_rule__Aula__Group__0__Impl2879 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Aula__Group__1__Impl_in_rule__Aula__Group__12910 = new BitSet(new long[]{0x0000000010000000L});
    public static final BitSet FOLLOW_rule__Aula__Group__2_in_rule__Aula__Group__12913 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Aula__NameAssignment_1_in_rule__Aula__Group__1__Impl2940 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Aula__Group__2__Impl_in_rule__Aula__Group__22970 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Aula__Group__3_in_rule__Aula__Group__22973 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_rule__Aula__Group__2__Impl3001 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Aula__Group__3__Impl_in_rule__Aula__Group__33032 = new BitSet(new long[]{0x0000000020000000L});
    public static final BitSet FOLLOW_rule__Aula__Group__4_in_rule__Aula__Group__33035 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Aula__CapacidadAulaAssignment_3_in_rule__Aula__Group__3__Impl3062 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Aula__Group__4__Impl_in_rule__Aula__Group__43092 = new BitSet(new long[]{0x0000000040000000L});
    public static final BitSet FOLLOW_rule__Aula__Group__5_in_rule__Aula__Group__43095 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_29_in_rule__Aula__Group__4__Impl3123 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Aula__Group__5__Impl_in_rule__Aula__Group__53154 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Aula__Group_5__0_in_rule__Aula__Group__5__Impl3181 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Aula__Group_5__0__Impl_in_rule__Aula__Group_5__03224 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Aula__Group_5__1_in_rule__Aula__Group_5__03227 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_30_in_rule__Aula__Group_5__0__Impl3255 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Aula__Group_5__1__Impl_in_rule__Aula__Group_5__13286 = new BitSet(new long[]{0x0000000004000000L});
    public static final BitSet FOLLOW_rule__Aula__Group_5__2_in_rule__Aula__Group_5__13289 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Aula__RequerimientosAssignment_5_1_in_rule__Aula__Group_5__1__Impl3316 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Aula__Group_5__2__Impl_in_rule__Aula__Group_5__23346 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Aula__Group_5_2__0_in_rule__Aula__Group_5__2__Impl3373 = new BitSet(new long[]{0x0000000004000002L});
    public static final BitSet FOLLOW_rule__Aula__Group_5_2__0__Impl_in_rule__Aula__Group_5_2__03410 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Aula__Group_5_2__1_in_rule__Aula__Group_5_2__03413 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_26_in_rule__Aula__Group_5_2__0__Impl3441 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Aula__Group_5_2__1__Impl_in_rule__Aula__Group_5_2__13472 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Aula__RequerimientosAssignment_5_2_1_in_rule__Aula__Group_5_2__1__Impl3499 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Requerimiento__Group__0__Impl_in_rule__Requerimiento__Group__03533 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Requerimiento__Group__1_in_rule__Requerimiento__Group__03536 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_31_in_rule__Requerimiento__Group__0__Impl3564 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Requerimiento__Group__1__Impl_in_rule__Requerimiento__Group__13595 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Requerimiento__NameAssignment_1_in_rule__Requerimiento__Group__1__Impl3622 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Horario__Group__0__Impl_in_rule__Horario__Group__03656 = new BitSet(new long[]{0x0000000100000000L});
    public static final BitSet FOLLOW_rule__Horario__Group__1_in_rule__Horario__Group__03659 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Horario__HoraInicioAssignment_0_in_rule__Horario__Group__0__Impl3686 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Horario__Group__1__Impl_in_rule__Horario__Group__13716 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Horario__Group__2_in_rule__Horario__Group__13719 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_32_in_rule__Horario__Group__1__Impl3747 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Horario__Group__2__Impl_in_rule__Horario__Group__23778 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Horario__Group__3_in_rule__Horario__Group__23781 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Horario__HoraFinAssignment_2_in_rule__Horario__Group__2__Impl3808 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Horario__Group__3__Impl_in_rule__Horario__Group__33838 = new BitSet(new long[]{0x0000000200000000L});
    public static final BitSet FOLLOW_rule__Horario__Group__4_in_rule__Horario__Group__33841 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Horario__MateriaAssignment_3_in_rule__Horario__Group__3__Impl3868 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Horario__Group__4__Impl_in_rule__Horario__Group__43898 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Horario__Group__5_in_rule__Horario__Group__43901 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_33_in_rule__Horario__Group__4__Impl3929 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Horario__Group__5__Impl_in_rule__Horario__Group__53960 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Horario__AulaAssignment_5_in_rule__Horario__Group__5__Impl3987 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__HorarioXDia__Group__0__Impl_in_rule__HorarioXDia__Group__04029 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__HorarioXDia__Group__1_in_rule__HorarioXDia__Group__04032 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__HorarioXDia__DiaAssignment_0_in_rule__HorarioXDia__Group__0__Impl4059 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__HorarioXDia__Group__1__Impl_in_rule__HorarioXDia__Group__14089 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__HorarioXDia__HorariosAssignment_1_in_rule__HorarioXDia__Group__1__Impl4116 = new BitSet(new long[]{0x0000000000000022L});
    public static final BitSet FOLLOW_rule__Asignacion__Group__0__Impl_in_rule__Asignacion__Group__04151 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Asignacion__Group__1_in_rule__Asignacion__Group__04154 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_34_in_rule__Asignacion__Group__0__Impl4182 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Asignacion__Group__1__Impl_in_rule__Asignacion__Group__14213 = new BitSet(new long[]{0x0000000800000000L});
    public static final BitSet FOLLOW_rule__Asignacion__Group__2_in_rule__Asignacion__Group__14216 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Asignacion__MateriaAssignment_1_in_rule__Asignacion__Group__1__Impl4243 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Asignacion__Group__2__Impl_in_rule__Asignacion__Group__24273 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Asignacion__Group__3_in_rule__Asignacion__Group__24276 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_35_in_rule__Asignacion__Group__2__Impl4304 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Asignacion__Group__3__Impl_in_rule__Asignacion__Group__34335 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Asignacion__ProfesorAssignment_3_in_rule__Asignacion__Group__3__Impl4362 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ADictar__Group__0__Impl_in_rule__ADictar__Group__04400 = new BitSet(new long[]{0x0000001000000000L});
    public static final BitSet FOLLOW_rule__ADictar__Group__1_in_rule__ADictar__Group__04403 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ADictar__MateriaAssignment_0_in_rule__ADictar__Group__0__Impl4430 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ADictar__Group__1__Impl_in_rule__ADictar__Group__14460 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__ADictar__Group__2_in_rule__ADictar__Group__14463 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_36_in_rule__ADictar__Group__1__Impl4491 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ADictar__Group__2__Impl_in_rule__ADictar__Group__24522 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ADictar__InscriptosAssignment_2_in_rule__ADictar__Group__2__Impl4549 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Planificacion__Group__0__Impl_in_rule__Planificacion__Group__04585 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Planificacion__Group__1_in_rule__Planificacion__Group__04588 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_37_in_rule__Planificacion__Group__0__Impl4616 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Planificacion__Group__1__Impl_in_rule__Planificacion__Group__14647 = new BitSet(new long[]{0x0000004000000000L});
    public static final BitSet FOLLOW_rule__Planificacion__Group__2_in_rule__Planificacion__Group__14650 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Planificacion__AnioAssignment_1_in_rule__Planificacion__Group__1__Impl4677 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Planificacion__Group__2__Impl_in_rule__Planificacion__Group__24707 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Planificacion__Group__3_in_rule__Planificacion__Group__24710 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_38_in_rule__Planificacion__Group__2__Impl4738 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Planificacion__Group__3__Impl_in_rule__Planificacion__Group__34769 = new BitSet(new long[]{0x0000008000000000L});
    public static final BitSet FOLLOW_rule__Planificacion__Group__4_in_rule__Planificacion__Group__34772 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Planificacion__SemestreAssignment_3_in_rule__Planificacion__Group__3__Impl4799 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Planificacion__Group__4__Impl_in_rule__Planificacion__Group__44829 = new BitSet(new long[]{0x0000010000000000L});
    public static final BitSet FOLLOW_rule__Planificacion__Group__5_in_rule__Planificacion__Group__44832 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_39_in_rule__Planificacion__Group__4__Impl4860 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Planificacion__Group__5__Impl_in_rule__Planificacion__Group__54891 = new BitSet(new long[]{0x0000008000000000L});
    public static final BitSet FOLLOW_rule__Planificacion__Group__6_in_rule__Planificacion__Group__54894 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_40_in_rule__Planificacion__Group__5__Impl4922 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Planificacion__Group__6__Impl_in_rule__Planificacion__Group__64953 = new BitSet(new long[]{0x0000020000000010L});
    public static final BitSet FOLLOW_rule__Planificacion__Group__7_in_rule__Planificacion__Group__64956 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_39_in_rule__Planificacion__Group__6__Impl4984 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Planificacion__Group__7__Impl_in_rule__Planificacion__Group__75015 = new BitSet(new long[]{0x0000020000000010L});
    public static final BitSet FOLLOW_rule__Planificacion__Group__8_in_rule__Planificacion__Group__75018 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Planificacion__MateriasADictarAssignment_7_in_rule__Planificacion__Group__7__Impl5045 = new BitSet(new long[]{0x0000000000000012L});
    public static final BitSet FOLLOW_rule__Planificacion__Group__8__Impl_in_rule__Planificacion__Group__85076 = new BitSet(new long[]{0x0000040000000000L});
    public static final BitSet FOLLOW_rule__Planificacion__Group__9_in_rule__Planificacion__Group__85079 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_41_in_rule__Planificacion__Group__8__Impl5107 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Planificacion__Group__9__Impl_in_rule__Planificacion__Group__95138 = new BitSet(new long[]{0x000002000001F800L});
    public static final BitSet FOLLOW_rule__Planificacion__Group__10_in_rule__Planificacion__Group__95141 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_42_in_rule__Planificacion__Group__9__Impl5169 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Planificacion__Group__10__Impl_in_rule__Planificacion__Group__105200 = new BitSet(new long[]{0x000002000001F800L});
    public static final BitSet FOLLOW_rule__Planificacion__Group__11_in_rule__Planificacion__Group__105203 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Planificacion__HorariosXDiaAssignment_10_in_rule__Planificacion__Group__10__Impl5230 = new BitSet(new long[]{0x000000000001F802L});
    public static final BitSet FOLLOW_rule__Planificacion__Group__11__Impl_in_rule__Planificacion__Group__115261 = new BitSet(new long[]{0x0000080000000000L});
    public static final BitSet FOLLOW_rule__Planificacion__Group__12_in_rule__Planificacion__Group__115264 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_41_in_rule__Planificacion__Group__11__Impl5292 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Planificacion__Group__12__Impl_in_rule__Planificacion__Group__125323 = new BitSet(new long[]{0x0000020400000000L});
    public static final BitSet FOLLOW_rule__Planificacion__Group__13_in_rule__Planificacion__Group__125326 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_rule__Planificacion__Group__12__Impl5354 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Planificacion__Group__13__Impl_in_rule__Planificacion__Group__135385 = new BitSet(new long[]{0x0000020400000000L});
    public static final BitSet FOLLOW_rule__Planificacion__Group__14_in_rule__Planificacion__Group__135388 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Planificacion__AsignacionesAssignment_13_in_rule__Planificacion__Group__13__Impl5415 = new BitSet(new long[]{0x0000000400000002L});
    public static final BitSet FOLLOW_rule__Planificacion__Group__14__Impl_in_rule__Planificacion__Group__145446 = new BitSet(new long[]{0x0000020000000000L});
    public static final BitSet FOLLOW_rule__Planificacion__Group__15_in_rule__Planificacion__Group__145449 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_41_in_rule__Planificacion__Group__14__Impl5477 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Planificacion__Group__15__Impl_in_rule__Planificacion__Group__155508 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_41_in_rule__Planificacion__Group__15__Impl5536 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRequerimiento_in_rule__Model__RequerimientosACargarAssignment_05604 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleProfesor_in_rule__Model__ProfesoresACargarAssignment_15635 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMateria_in_rule__Model__MateriasACargarAssignment_25666 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAula_in_rule__Model__AulasACargarAssignment_35697 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePlanificacion_in_rule__Model__PlanificacionAssignment_45728 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Profesor__NameAssignment_15759 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDedicacion_in_rule__Profesor__DedicacionAssignment_35790 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Materia__NameAssignment_15821 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_rule__Materia__DiasEnLaSemanaAssignment_35852 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_rule__Materia__CargaHorariaAssignment_55883 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Materia__RequerimientosAssignment_6_15918 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Materia__RequerimientosAssignment_6_2_15957 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Aula__NameAssignment_15992 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_rule__Aula__CapacidadAulaAssignment_36023 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Aula__RequerimientosAssignment_5_16058 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Aula__RequerimientosAssignment_5_2_16097 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Requerimiento__NameAssignment_16132 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_rule__Horario__HoraInicioAssignment_06163 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_rule__Horario__HoraFinAssignment_26194 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Horario__MateriaAssignment_36229 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Horario__AulaAssignment_56268 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDia_in_rule__HorarioXDia__DiaAssignment_06303 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleHorario_in_rule__HorarioXDia__HorariosAssignment_16334 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Asignacion__MateriaAssignment_16369 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Asignacion__ProfesorAssignment_36408 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__ADictar__MateriaAssignment_06447 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_rule__ADictar__InscriptosAssignment_26482 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_rule__Planificacion__AnioAssignment_16513 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_rule__Planificacion__SemestreAssignment_36544 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleADictar_in_rule__Planificacion__MateriasADictarAssignment_76575 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleHorarioXDia_in_rule__Planificacion__HorariosXDiaAssignment_106606 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAsignacion_in_rule__Planificacion__AsignacionesAssignment_136637 = new BitSet(new long[]{0x0000000000000002L});

}